簡體   English   中英

ActionListener無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM