除了使用數(shù)組來(lái)創(chuàng)建列表框外,還可以使用Vector數(shù)據(jù)結(jié)構(gòu)來(lái)創(chuàng)建列表框脏榆。使用Vector方式創(chuàng)建列表框與使用數(shù)組的方式相似冀痕,只不過存儲(chǔ)數(shù)據(jù)的方式不同而己。下面將通過一個(gè)實(shí)例來(lái)介紹這種創(chuàng)建列表框的方法揖盘。
該實(shí)例主要是創(chuàng)建了三個(gè)列表框?qū)ο螅袃蓚€(gè)列表框?qū)ο笫峭ㄟ^數(shù)組的方式創(chuàng)建的锌奴,而另一個(gè)則使用Vector方式創(chuàng)建兽狭,通過此實(shí)例,可以比較一下兩種創(chuàng)建列表框的方式,其程序代碼如下所示:
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));
//創(chuàng)建兩組數(shù)據(jù)
String[]s1={"美國(guó)","日本","中國(guó)","法國(guó)"};
String[]s2={"王靖宇","李鴻天","張合奕","劉雪哄"};
//創(chuàng)建一個(gè)Vector數(shù)據(jù)結(jié)構(gòu)
Vectorv=newVector();
//將數(shù)據(jù)存儲(chǔ)到Vector數(shù)據(jù)結(jié)構(gòu)中
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);
//設(shè)置主題
jl1.setBorder(BorderFactory.createTitledBorder("你喜歡到那個(gè)國(guó)家玩?"));
JListjl2=newJList(v);
//一次只能選擇一個(gè)列表索引
jl2.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
jl2.setBorder(BorderFactory.createTitledBorder("你喜歡那個(gè)型號(hào)的蘋果手機(jī)箕慧?"));
JListjl3=newJList(s2);
jl3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jl3.setBorder(BorderFactory.createTitledBorder("你喜歡那個(gè)姓名稱號(hào)服球?"));
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);
}
});
}
}