除了使用数组来创建列表框外,还可以使用Vector数据结构来创建列表框。使用Vector方式创建列表框与使用数组的方式相似,只不过存储数据的方式不同而己。下面将通过一个实例来介绍这种创建列表框的方法。
该实例主要是创建了三个列表框对象,有两个列表框对象是通过数组的方式创建的,而另一个则使用Vector方式创建,通过此实例,可以比较一下两种创建列表框的方式,其程序代码如下所示:
importjava.awt.Container;
importjava.awt.GridLayout;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.util.Vector;
importjavax.swing.BorderFactory;
importjavax.swing.JFrame;
importjavax.swing.JList;
importjavax.swing.JScrollPane;
importjavax.swing.ListSelectionModel;
publicclassBWF {
publicstaticvoidmain(String[]args) {
JFramejf=newJFrame("博为峰教育");
ContainercontentPane=jf.getContentPane();
contentPane.setLayout(newGridLayout(1, 3));
//创建两组数据
String[]s1={"美国","日本","中国","法国"};
String[]s2={"王靖宇","李鸿天","张合奕","刘雪哄"};
//创建一个Vector数据结构
Vectorv=newVector();
//将数据存储到Vector数据结构中
v.add("Apple 4");
v.add("Apple 4s");
v.add("Apple 5");
v.add("Apple 5s");
v.add("Apple 6");
v.add("Apple 6s");
v.add("Apple 7");
v.add("Apple 7s");
v.add("Apple 8");
v.add("其他");
JListjl1=newJList(s1);
//设置主题
jl1.setBorder(BorderFactory.createTitledBorder("你喜欢到那个国家玩?"));
JListjl2=newJList(v);
//一次只能选择一个列表索引
jl2.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
jl2.setBorder(BorderFactory.createTitledBorder("你喜欢那个型号的苹果手机?"));
JListjl3=newJList(s2);
jl3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jl3.setBorder(BorderFactory.createTitledBorder("你喜欢那个姓名称号?"));
contentPane.add(newJScrollPane(jl1));
contentPane.add(newJScrollPane(jl2));
contentPane.add(newJScrollPane(jl3));
jf.pack();
jf.setVisible(true);
jf.addWindowListener(newWindowAdapter() {
@Override
publicvoidwindowClosing(WindowEvente) {
System.exit(0);
}
});
}
}