列表框和組合框在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即可,所有的細節都自動地為我們照料到了。