java的单选按钮
单选按钮在GUI措施设计中的观念来自于老式的电子管汽车收音机的机器按钮:当我们按下一个按钮时,其它的按钮就会弹起。因此它答允我们强制从浩瀚选择中作出单一选择。
AWT没有单独的描写单选钮的类;取而代之的是复用复选框。然而将复选框放在单选钮组中(而且修改它的外形使它看起来差异于一般的复选框)我们必需利用一个非凡的构建器象一个自变量一样的浸染在checkboxGroup工具上。(我们同样能在建设复选框后挪用setCheckboxGroup()要领。)
一个复选框组没有构建器的自变量;它存在的独一来由就是聚积一些复选框到单选钮组里。一个复选框工具必需在我们试图显示单选钮组之前将它的状态配置成true,不然在运行时我们就会获得一个异常。假如我们配置高出一个的单选钮为true,只有最后的一个能被配置成真。
这里有个简朴的利用单选钮的例子。留意我们可以像其它的组件一样捕获单选钮的事件:
//: RadioButton1.java // Using radio buttons import java.awt.*; import java.applet.*; public class RadioButton1 extends Applet { TextField t = new TextField("Radio button 2", 30); CheckboxGroup g = new CheckboxGroup(); Checkbox cb1 = new Checkbox("one", g, false), cb2 = new Checkbox("two", g, true), cb3 = new Checkbox("three", g, false); public void init() { t.setEditable(false); add(t); add(cb1); add(cb2); add(cb3); } public boolean action (Event evt, Object arg) { if(evt.target.equals(cb1)) t.setText("Radio button 1"); else if(evt.target.equals(cb2)) t.setText("Radio button 2"); else if(evt.target.equals(cb3)) t.setText("Radio button 3"); else return super.action(evt, arg); return true; } } ///:~
显示的状态是一个文字字段在被利用。这个字段被配置为不行编辑的,因为它只是用来显示数据而不是收集。这演示了一个利用标签的可取之道。留意字段内的文字是由最早选择的单选钮“Radio button 2”初始化的。
我们可以在窗体中拥有相当多的复选框组。