1 回答
TA贡献1827条经验 获得超4个赞
据我了解,您ActionListener是在某个类的范围内创建的。在不查看类的整个代码的情况下,很难提出重构代码的最佳方法。
但是为了实现您的目标,您可以将 的原始值保存getText()在类实例字段中,然后在侦听器的每次新调用中更新它:
public class Main {
private String formula;
ActionListener yesListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (formula == null) {
formula = textArea.getText();
}
int i = StringUtils.countMatches(formula, "?");
if (i > 1) {
formula = findTrue(formula);
questionLabel.setText(askQuestion(formula));
} else {
questionLabel.setText("The formula will return" + findTrue(formula));
}
}
};
添加回答
举报