java的列表框
列表框与选择框有完全的差异,而不只仅是当我们在激活选择框时的显示差异,列表框牢靠在屏幕的指定位置不会改变。别的,一个列表框答允多个选择:假如我们单击在高出一个的项目上,未选择的则表示为高亮度,我们可以选择象我们想要的一样的多。假如我们想察看项目列表,我们可以挪用getSelectedItem()来发生一个被选择的项目列表。要想从一个组里删除一个项目,我们必需再一次的单击它。列表框,虽然这里有一个问题就是它默认的行动是双击而不是单击。单击从组中增加或删除项目,双击挪用action()。办理这个问题的要领是象下面的措施假设的一样从头培训我们的用户。
//: List1.java // Using lists with action() import java.awt.*; import java.applet.*; public class List1 extends Applet { String[] flavors = { "Chocolate", "Strawberry", "Vanilla Fudge Swirl", "Mint Chip", "Mocha Almond Fudge", "Rum Raisin", "Praline Cream", "Mud Pie" }; // Show 6 items, allow multiple selection: List lst = new List(6, true); TextArea t = new TextArea(flavors.length, 30); Button b = new Button("test"); int count = 0; public void init() { t.setEditable(false); for(int i = 0; i < 4; i++) lst.addItem(flavors[count++]); add(t); add(lst); add(b); } public boolean action (Event evt, Object arg) { if(evt.target.equals(lst)) { t.setText(""); String[] items = lst.getSelectedItems(); for(int i = 0; i < items.length; i++) t.appendText(items[i] + "\n"); } else if(evt.target.equals(b)) { if(count < flavors.length) lst.addItem(flavors[count++], 0); } else return super.action(evt, arg); return true; } } ///:~
按下按钮时,按钮增加项目到列表的顶部(因为addItem()的第二个自变量为零)。增加项目到列表框比到选择框越发的公道,因为用户期望去转动一个列表框(因为这个原因,它有内建的转动条)但用户并不肯意像在前面的例子里不得不去计较奈何才气转动到要要的谁人项目。
然而,挪用action()的独一要领就是通过双击。假如我们想监督用户在我们的列表中的所作所为(尤其是单击),我们必需提供一个可供选择的要领。