Welcome

首页 / 软件开发 / JAVA / java的下拉列表框

java的下拉列表框2007-05-29 yycnet.yeah.net yyc译下拉列表像一个单选钮组,它是强制用户从一组可实现的选择中选择一个对象的方法。而且,它是一个实现这点的相当简洁的方法,也最易改变选择而不至使用户感到吃力(我们可以动态地改变单选钮,但那种方法显然不方便)。Java的选择框不像Windows中的组合框可以让我从列表中选择或输入自己的选择。在一个选择框中你只能从列表中选择仅仅一个项目。在下面的例子里,选择框从一个确定输入的数字开始,然后当按下一个按钮时,新输入的数字增加到框里。你将可以看到选择框的一些有趣的状态:
//: Choice1.java// Using drop-down listsimport java.awt.*;import java.applet.*;public class Choice1 extends Applet {String[] description = { "Ebullient", "Obtuse","Recalcitrant", "Brilliant", "Somnescent","Timorous", "Florid", "Putrescent" };TextField t = new TextField(30);Choice c = new Choice();Button b = new Button("Add items");int count = 0;public void init() {t.setEditable(false);for(int i = 0; i < 4; i++)c.addItem(description[count++]);add(t);add(c);add(b);}public boolean action (Event evt, Object arg) {if(evt.target.equals(c))t.setText("index: " +c.getSelectedIndex()+ " " + (String)arg);else if(evt.target.equals(b)) {if(count < description.length)c.addItem(description[count++]);} else return super.action(evt, arg);return true;}} ///:~
文本字字段中显示的“selected index,"也就是当前选择的项目的序列号,在事件中选择的字符串就像action()的第二个自变量的字串符描述的一样好。
运行这个程序片时,请注意对Choice框大小的判断:在windows里,这个大小是在我们拉下列表时确定的。这意味着如果我们拉下列表,然后增加更多的项目到列表中,这项目将在那,但这个下拉列表不再接受(我们可以通过项目来滚动观察——注释④)。然而,如果我们在第一次拉下下拉列表前将所的项目装入下拉列表,它的大小就会合适。当然,用户在使用时希望看到整个的列表,所以会在下拉列表的状态里对增加项目到选择框里加以特殊的限定。

④:这一行为显然是一种错误,会Java以后的版本里解决。