当用户点击“清空”按钮时,程序清空图书编号、图示名称和图书作者文本框中的内容。 (2)要求用属性事件响应、内部匿名类事件响应、监听器接口实现类事件响应和外部监听器接口实现类事件响应 四种方式来实现该功
时间: 2024-10-15 22:15:18 浏览: 27
刷新时清空文本框内容的js代码
当用户点击“清空”按钮时,可以采用以下四种方式来清空图书编号、图示名称和图书作者的输入:
1. 属性事件响应 (Property Change Event):
```java
// 假设有个JTextField的对象textFields[]
public void clearText() {
for (JTextField textField : textFields) {
textField.setText("");
}
}
```
在按钮上设置`ActionListener`,并调用`clearText()`方法。
2. 内部匿名类事件响应 (Anonymous Inner Class with ActionListener):
```java
JButton clearButton = new JButton("清空");
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clearText();
}
});
```
同样,`clearText()`方法负责清理文本字段的内容。
3. 监听器接口实现类事件响应 (Implementing an Interface as Listener):
```java
interface ClearEventListener {
void onClear();
}
class ClearHandler implements ClearEventListener {
@Override
public void onClear() {
clearText();
}
}
JButton clearButton = new JButton("清空");
clearButton.addActionListener(new ClearHandler());
```
在外部创建监听器类,并在其中实现`onClear`方法。
4. 外部监听器接口实现类事件响应 (External Listener Class):
```java
class ExternalClearListener implements ClearEventListener {
private JTextField[] textFields;
public ExternalClearListener(JTextField[] textFields) {
this.textFields = textFields;
}
@Override
public void onClear() {
for (JTextField textField : textFields) {
textField.setText("");
}
}
}
// 使用时:
JButton clearButton = new JButton("清空");
clearButton.addActionListener(new ExternalClearListener(textFields));
```
在这个例子中,`ExternalClearListener`类独立于UI组件,需要在创建时传递文本字段数组。
阅读全文