📄 jlistexam.java
字号:
package ch7;
import java.awt.*;
import javax.swing.*;
public class JListExam extends JFrame
{
String[] item1={"北","南","西","东","西北","东北","东南","西南","中"};
String[] item2={"NORTH(1)","SOUTH(5)","WEST(7)","ESAT(3)","NORTH_WEST(8)",
"NORTH_EAST(2)","SOUTH_EAST(4)","SOUTH_WEST(6)","CENTER(0)" };
JList list1=new JList(item1); //创建列表对象list1
JList list2=new JList(item2); //创建列表对象list2
public JListExam()
{
super("在列表组件加入图标演示");
Container contentPane=this.getContentPane(); //获得容器对象
contentPane.setLayout(new GridLayout(1,2)); //设置容器布局
list1.setBorder(BorderFactory.createTitledBorder("显示图标"));//设置列表框标题
list2.setBorder(BorderFactory.createTitledBorder("对应常数(值)显示"));//设置列表框标题
list1.setCellRenderer(new CellRenderer());//设置用于绘制列表中每个单元的委托
contentPane.add(new JScrollPane(list1)); //以list1对象为参数创建滚动框格添加到容器中
contentPane.add(new JScrollPane(list2));//以list2对象为参数创建滚动框格添加到容器中
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new JListExam();
}
}
/*单元渲染器代码如下*/
class CellRenderer extends JLabel implements ListCellRenderer
{
CellRenderer()
{
setOpaque(true); //设置组件是透明的,即绘制组件边界内的所有像素。
}
/*实现接口方法*/
public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHasFocus)
{
if(value!=null)
{
setText(value.toString());
setIcon(new ImageIcon(".\\i"+(index)+".gif"));//设置图标文件为显示图标
}
return this;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -