列表框和組合框在Swing中工作就像它們在老的AWT中工作一樣,但如果我們需要它,它們同樣被增加功能。另外,它也更加的方便易用。例如,JList中有一個顯示String數組的構建器(奇怪的是同樣的功能在JComboBox中無效!)。下面的例子顯示了它們基本的用法。
//: ListCombo.java // List boxes & Combo boxes package c13.swing; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ListCombo extends JPanel { public ListCombo() { setLayout(new GridLayout(2,1)); JList list = new JList(ButtonGroups.ids); add(new JScrollPane(list)); JComboBox combo = new JComboBox(); for(int i = 0; i < 100; i++) combo.addItem(Integer.toString(i)); add(combo); } public static void main(String args[]) { Show.inFrame(new ListCombo(),200,200); } } ///:~
最開始的時候,似乎有點兒古怪的一種情況是JLists居然不能自動提供滾動特性——即使那也許正是我們一直所期望的。增加對滾動的支持變得十分容易,就像上面示范的一樣——簡單地將JList封裝到JScrollPane即可,所有的細節都自動地為我們照料到了。