簡體   English   中英

無法讓 documentlistener 工作啟用或禁用 Java(Netbeans)中的按鈕,我做錯了什么?

[英]Unable to get documentlistener to work enable or disable a button in Java (Netbeans), what am I doing wrong?

我正在嘗試根據文本區域是否為空來啟用或禁用按鈕,為了進一步了解,我在 Netbeans 中執行此操作。 該按鈕默認禁用。

根據我目前的研究,我需要檢測文本區域的變化是一個文檔監聽器......無論我如何添加我設法找出抄襲的代碼,它要么有錯誤,要么確實沒什么... messagearea 是我的 textarea 的名稱,而 sendb 是按鈕。 這是我迄今為止最好的:

public NewJFrame (DocumentListener Frame){
    messagearea.getDocument().addDocumentListener(new DocumentListener() {
        @Override
        public void insertUpdate(DocumentEvent e) {
            //throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
            if (messagearea.getText().equals("")){
                sendb.setEnabled(false);
                System.out.println("false");
            } else
            {
                sendb.setEnabled(true);
                System.out.println("true");
            }
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            //throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
            if (messagearea.getText().equals("")){
                sendb.setEnabled(false);
                System.out.println("false");
            } else
            {
                sendb.setEnabled(true);
                System.out.println("true");
            }
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            //throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
            if (messagearea.getText().equals("")){
                sendb.setEnabled(false);
                System.out.println("false");
            } else
            {
                sendb.setEnabled(true);
                System.out.println("true");
            }
        }
    });
}

我把它放在變量聲明之后。 它甚至不打印任何 output,所以我現在犯了一個錯誤,讓聽眾真正“聽”,大聲笑任何幫助將不勝感激。

我解決了這個問題。

在主 class 的設計選項卡中,其中包含 textarea,我右鍵單擊 textarea,選擇屬性,轉到代碼選項卡,單擊 Post-Listeners Code 類別上的省略號,並將上述代碼粘貼到提供的字段中。 現在按鈕的行為如我所願。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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