簡體   English   中英

在另一個類的jTextArea中顯示類的數據時出現問題

[英]Issues displaying data from a class in a jTextArea in a different class

我一直在仔細地瀏覽本網站,試圖找到問題的答案,但是我一直沒能在任何地方找到它。 我是Java的新手,所以如果我使用了錯誤的術語,請多多包涵。

我有兩個文件,MainJFrame和Class1。 我需要使用給定的Display()方法在MainJFrame的jTextArea中顯示Class1的參數。 這聽起來很簡單,因為我應該能夠從MainJFrame調用Class1的Display()方法(在MainJFrame中建立Class1的實例之后)並以這種方式顯示它,但是問題是給定的Display()方法無效功能。 這是給定的代碼:

    public void Display(JList list)
    {
    DefaultListModel model = new DefaultListModel();

    model.add(0, item1 + " " + item2 + " " + item3);
    list.setModel(model);
    }

有什么方法可以提取此信息,以便我可以在MainJFrame中使用它,而不必求助於將其保存到文件或修改代碼? 從我經驗不足的角度來看,這似乎是不可能的,並且每次我嘗試修改此代碼以例如將String返回MainJFrame時,它都被我的老師拒絕。 我的想法真的耗盡了。

感謝您的投入。

但是問題是給定的Display()方法是一個無效函數

返回空沒有問題。 由於JTextArea是可變的,而Java是按值傳遞,因此您可以從MainFrame類中簡單地執行以下操作:

JTextArea textArea = new JTextArea(5, 30);

Class1 class1 = new Class1();
class1.display(textArea);  

getContentPane().add(new JScrollPane(textArea));

並且class1將負責根據需要設置文本。 例如:

public void display(JTextArea textArea){
    textArea.setText("I'm setting text from a Class1's object!");
}  

我認為您的教練正在試圖強調,這樣做不需要返回任何值。

建議閱讀: 可變和不可變的對象以及值傳遞

暫無
暫無

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

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