与一组单选button的功能类似,组合框(下拉列表)也是强制用户从一组可能的元素中仅仅选择一个,只是,这样的方法更加紧凑,并且在不会使用户感到迷惑的前提下,改变下拉列表中内容更加easy。
以下的样例,JComboBox组合框開始时已经有了一些元素,然后当一个button按下的时候,将向组合框中增加新的元素。
public class ComboBoxes extends JFrame {
private String[] weekDays = {
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"
};
private JTextField t = new JTextField(15);
private JComboBox c = new JComboBox();
private JButton b = new JButton("Add items");
private int count = 0;
public ComboBoxes() {
// TODO Auto-generated constructor stub
setLayout(new FlowLayout());
setSize(200,175);
setVisible(true);
for(int i = 0; i < 3;i++)
c.addItem(weekDays[count++]);
t.setEditable(false);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(count < weekDays.length){
c.addItem(weekDays[count++]);
}
}
});
c.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
t.setText("您选择了 "+ c.getSelectedItem());
}
});
c.setEditable(true);
add(t);
add(c);
add(b);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new ComboBoxes();
}
} 效果例如以下:
当点击组合框中的选项时,会将选择的结果显示在JTextField中。