`
lg_asus
  • 浏览: 191858 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

給JList每個Item加個圖標

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class JListDemo5 {

	public JListDemo5(){
		String[] s = {"美國","日本","中國","英國","法國"};
		JFrame jf = new JFrame();
		Container contentPane = jf.getContentPane();
		JList list = new JList(s);
		list.setBorder(BorderFactory.createTitledBorder("你喜歡哪個國家?"));
		list.setCellRenderer(new CellRenderer());
		list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		list.setVisibleRowCount(3);
		
		contentPane.add(new JScrollPane(list));
		jf.pack();
		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public static void main(String...args){
		new JListDemo5();
	}
}

//class CellRenderer to design icon on every list item
class CellRenderer extends JLabel implements ListCellRenderer{

	CellRenderer(){
		setOpaque(true);//設置不透明,顯示反白效果
	}
	@Override
	public Component getListCellRendererComponent(JList list, Object value,
			int index, boolean isSelected, boolean cellHasFocus) {
		if(value!=null){
			setText(value.toString());
			setIcon(new ImageIcon(".\\Icons\\home.jpg"));
		}
		if(isSelected){
			this.setBackground(list.getSelectionBackground());
			this.setForeground(list.getSelectionForeground());
		}
		else{
			this.setBackground(list.getBackground());
			this.setForeground(list.getForeground());
		}
		
		return this;
	}
	
}


摘自:深入淺出Java Swing程序設計
分享到:
评论

相关推荐

    javaswing更酷的Jlist.pdf

    在绘制每个单元格之前,JList 会调用 ListCellRenderer 的 getListCellRendererComponent 方法,获取一个组件,然后将其绘制在正确的位置。 五、结论 使用 JavaSwing 中的 ListCellRenderer 接口可以轻松地自定义 ...

    图片+文字的Jlist

    在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列的选项或元素供用户选择。在默认情况下,`JList` 只能显示字符串元素,但通过自定义渲染器(CellRenderer),我们可以扩展其功能以显示更...

    JList动态改变图片

    在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。在这个特定的情况下,我们探讨的是如何利用`JList`来显示图片,并实现这些图片的动态变化。这在创建图像库、画廊应用或者进行图形用户界面...

    JList中使用JCheckBox示例

    然后,我们需要为`JList`创建一个自定义的渲染器,这样每个列表项都可以显示为`JCheckBox`。我们可以创建一个`MyListCellRenderer`类,它继承自`DefaultListCellRenderer`: ```java public class ...

    java_swing_更酷的Jlist.

    这段代码创建了一个包含两个条目的 `JList`,每个条目都包含一个图标和一段文本。`JList` 使用了 `IconListItemRenderer` 来渲染这些条目。 #### 3. 总结 通过以上步骤,我们成功地创建了一个带有图片的 `JList`。...

    用JComboBox和JList实现的一个文件浏览器组件

    开发者可能会使用递归方式遍历文件系统,将每个目录添加为`JComboBox`的一个条目。同时,它也可能包含一个“向上一级”或“根目录”的选项,便于用户快速返回上一级或开始位置。 其次,`JList`是展示一系列项目供...

    java构建几种个性的JList

    在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列选项,用户可以选择其中的一个或多个。本篇文章将深入探讨如何使用Java构建具有各种特性的`JList`,包括添加图片、实现拖放功能以及自定义...

    自定义JList

    接着,我们需要重写`JList`的`createCellRenderer`方法,以便为每个列表项提供自定义的渲染器。渲染器将负责创建包含文本和删除按钮的组件。 ```java public class CustomJList extends JList...

    swing中jlist点击事件demo

    swing中的jlist 代码中定义了两个jlist 从一个jlist双击列表项可以将该项从这个列表删除并添加至另外一个列表中去

    JList 上下左右拖动

    首先,`JList`的基本使用包括创建`DefaultListModel`来存储列表项,然后将该模型赋值给`JList`。例如: ```java DefaultListModel<String> model = new DefaultListModel(); model.addElement("项1"); model....

    JList事件监听器的实现例子

    在Java Swing库中,`JList`是一个非常重要的组件,用于显示一组可选择的项。在用户与`JList`进行交互时,如选择、取消选择等操作,我们可能需要捕获这些事件并做出响应。这就涉及到事件监听器的使用。本教程将详细...

    JList的一些用法

    `JList`的创建相当直观,只需要提供一个对象数组作为构造参数即可。例如: ```java String[] words = {"quick", "brown", "hungry", "wild"}; JList<String> wordList = new JList(words); ``` 然而,`JList`的...

    JAVA JList使用例子

    例如,我们可以创建一个包含若干元素的数组,然后将其作为参数传递给`JList`的构造函数: ```java String[] items = {"选项1", "选项2", "选项3", "选项4"}; JList<String> list = new JList(items); ``` 在这个...

    JFC Swing活学活用系列之定制JList显示.rar

    JList默认使用DefaultListCellRenderer,但我们可以创建一个继承自DefaultListCellRenderer的子类,并重写其`getListCellRendererComponent`方法,以此来定制每个单元格的显示。在这个方法中,你可以设置文本、图标...

    JList多选值的获取

    下面是一个完整的示例代码,展示了如何创建一个支持多选的`JList` 组件,并如何处理选择变化事件。 ```java import java.awt.Color; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing....

    JList example

    在这个例子中,我们将深入探讨`JList` 的使用方法,并结合给出的`List.java`文件来解析其关键知识点。 首先,`JList` 是javax.swing包中的类,它继承自`JComponent`,并实现了`ListModel`接口。`ListModel` 是`...

    JList的使作

    JLIst的使用,主要是介绍基础

    JList点击空白处不让其选中最后一项

    在Java Swing中,`JList` 是一个常用的组件,用于展示一系列可选择的项。当用户点击`JList`的空白区域时,默认行为是选中列表的最后一项。这对于某些应用场景,比如带有右键菜单的界面,可能会带来不便,因为用户...

    Java Swing组件:Jlist学习笔记

    JList 是 Java Swing 中的一个重要组件,用于展示列表项。它能够帮助开发者实现数据的动态展示、编辑以及选择等功能,广泛应用于各种桌面应用软件界面设计中。 #### 创建与显示 JList 在创建 JList 时,可以通过...

    swing JList 拖拽

    swing JList 拖拽记录到 JTable

Global site tag (gtag.js) - Google Analytics