2016-04-24 74 views
0

我不確定我是否能繼承textarea的情況下在一個類從另一個類添加文本。我簡化了我的代碼以保持專注。在main.java中創建TextArea框,並添加一個附加文本。我想在另一個類inputclass.java,再添追加到textarea的同一個實例,因此文本區域應該讀 你好 再見Java繼承文本區域

main.java

package NineNetwork; 

public class TextMessage extends JFrame { 
    public TextMessage() { 
     private JTextArea WinMessage = new JTextArea(20,25); 
     WinMessage.append("Hello" + "\n"); 
    } 
} 

inputClass.java

package NineNetwork; 

public class inputClass { 
    public inputClass() { 
     WinMessage.append("Bye" + "\n"); 
    } 
} 
+0

「*我已經簡化了我下面的代碼,以集中精力。*」是好的,但簡化添加問題,其妨礙我們繼續專注。這個問題是局部變量沒有可見性修飾符。只有班級領域。 – Pshemo

回答

0

不知道很多關於你的項目,我想你會如果你的TextMessage構造器中創建WinMessage變量也很難與完成這一任務。我假設變量在構造函數中創建並不是絕對重要的。所以,我建議使用某種setter方法如下所示:

package NineNetwork; 

public class TextMessage extends JFrame { 
    private JTextArea WinMessage = new JTextArea(20,25); 

    public TextMessage() { 
     WinMessage.append("Hello" + "\n"); 
    } 

    public void appendMessage(String text){ 
     WinMessage.append(text); 
    } 

} 

然後你可以像這樣訪問:

package NineNetwork; 

public class inputClass { 
    public inputClass() { 
      TextMessage.appendMessage("Bye" + "\n"); 
    } 
} 

這應該讓你的文本字段有

輸出

你好

再見

當您調用該方法時。