我正在开发一个应用程序,希望能够通过用户更新JTextArea的内容或手动按下JButton来触发某些操作。
我已经使用DocumentListener并将相关代码放在其insertUpdate方法中完成了第一部分。
虽然我之前没有使用过Action类,但我听说它们在需要多个控件触发操作的情况下非常有用。可以从DocumentListener触发该操作吗?是否使用Actions是个好主意,还是应该将代码放在普通方法中?
(在构造函数中):
我已经使用DocumentListener并将相关代码放在其insertUpdate方法中完成了第一部分。
虽然我之前没有使用过Action类,但我听说它们在需要多个控件触发操作的情况下非常有用。可以从DocumentListener触发该操作吗?是否使用Actions是个好主意,还是应该将代码放在普通方法中?
(在构造函数中):
textAreaInput.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
// do something
}
public void removeUpdate(DocumentEvent e) {}
public void changedUpdate(DocumentEvent e) {}
});
并且Action是一个字段:
Action doSomething = new AbstractAction("Do Something!") {
@Override
public void actionPerformed(ActionEvent e) {
// do it
}
};
澄清:
用户将粘贴到JTextArea中的文本,我希望能够自动解析。该解析取决于GUI中其他设置的值;如果用户更改了这些其他值,则可能希望重新解析文本,因此需要按下按钮执行相同的操作。