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