在组件的 Java 代码中执行的一个常见操作是,查询或设置该页面上其他组件的属性。虽然在设计该页面时可能已在 IDE 中定义了这些属性的初始值,但是可通过标准属性方法(称为 getter 和 setter)从 Java 代码中访问这些属性。每个标准组件的每个属性都具有 getter 或 setter 方法。只读属性具有 getter 方法,但没有 setter 方法。如果为组件添加新属性,IDE 将自动添加 getter 和 setter 方法。
getter 返回属性的值。要获取属性值,请将 get 与属性名称一起使用,并大写该属性名称的第一个字母。例如,要获取组件的 value 属性的值,请使用 getValue 方法。例如,以下代码从输出文本组件中获取 value 属性:
outputText1.getValue();
同样,要获取组件的 title 或 style 属性的值,请使用 getTitle 或 getStyle 方法。每个组件属性都具有相应的返回该属性值的 getter 方法。
属性的许多 getter 方法均返回 String 对象。getValue 方法则是一个例外:它返回 Object 的对象。根据要对对象执行的操作(为其赋其他某个属性,修改其值等),您可能希望将该对象强制转换为其他某个类。强制类型转换会将一个类的对象转换为其他某个类的实例。
例如,要将文本字段组件的 value 属性中包含的 Object 强制转换为 String 类的实例,请使用以下代码:
String name = (String)textField1.getValue();
“属性”窗口可以为您显示每个属性所需的对象类。每个属性的工具提示都显示了该属性的详细描述性名称以及类名(例如 Object、String 和 Boolean)。也可以根据代码完成提示发现每个 getter 方法在 Java 编辑器中返回的类。
可以使用 this 和属性名称对包含 Boolean 值的属性进行查询。例如,文本相关组件的 escape 属性或 disabled 属性为 Boolean。它们具有值 true 或 false,并且可使用 isEscape 和 isDisabled 方法进行查询。Boolean getter 方法会返回一个 Boolean 值(true 或 false),您可以在测试中使用这些方法,如下例所示:
if (button1.isDisabled()) {
// test the disabled property
// if the condition is true, then do this
// ...
} else {
// otherwise do this
// ...
}
// end if
setter 用于更改属性值。要设置任何属性的值,请使用由词语 set 与该属性名称组成的方法,并大写该属性名称。Setter 方法需要一个将属性设置为 Object、String 或 Boolean 的值,具体取决于属性本身。示例如下:
textField1.setValue( "Hello, world!");outputText1.setValue(textField2.getValue());button1.setDisabled(true);