[英]ActionListener not working as intended
在EditMSFrame類內部,我有JTextPane,其中寫入了JSON。 在按鈕上單擊我檢查它是否為有效的JSON。
現在,如果我這樣寫
this.checkButton.addActionListener(e -> {
System.out.println(isValid(getTextPane().getText()));
});
當我在JTextPane中更改文本時,它工作正常並寫入true / false。
但是如果我這樣寫
this.checkButton.addActionListener(new ValidateJSON());
-
public class ValidateJSON implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
EditMSFrame editMSframe = new EditMSFrame();
System.out.println(editMSframe.isValid(editMSframe.getTextPane().getText()));
}
}
它只會檢查一次JSON,如果有效,即使我更改為無效,它也會打印true
想要對我的代碼進行編輯?
坦白地說,我不必這樣做,它是101編程。坦率地說,您應該查閱一本好的教科書或教程,例如將信息傳遞給方法或構造函數
很抱歉,如果這使我陷入困境,但您會為此而努力編寫更好的程序
public class ValidateJSON implements ActionListener {
private EditMSFrame editMSframe;
public ValidateJSON(EditMSFrame someInstance) {
editMSframe = someInstance;
}
@Override
public void actionPerformed(ActionEvent arg0) {
System.out.println(editMSframe.isValid(editMSframe.getTextPane().getText()));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.