Java 在不同类的jTextArea中显示来自类的数据时出现问题

Java 在不同类的jTextArea中显示来自类的数据时出现问题,java,swing,jtextarea,jlist,Java,Swing,Jtextarea,Jlist,我一直在彻底地浏览这个网站,试图找到我的问题的答案,但我在任何地方都找不到。我是Java的新手,所以如果我使用了不正确的术语,请容忍我 我有两个文件,MainJFrame和Class1。我需要使用给定的Display()方法在MainJFrame的jTextArea中显示Class1的参数。这听起来很简单,因为我应该能够从MainJFrame调用Class1的Display()方法(在MainJFrame中建立Class1的实例之后)并以这种方式显示它,但问题是给出的Display()方法是一个

我一直在彻底地浏览这个网站,试图找到我的问题的答案,但我在任何地方都找不到。我是Java的新手,所以如果我使用了不正确的术语,请容忍我

我有两个文件,MainJFrame和Class1。我需要使用给定的Display()方法在MainJFrame的jTextArea中显示Class1的参数。这听起来很简单,因为我应该能够从MainJFrame调用Class1的Display()方法(在MainJFrame中建立Class1的实例之后)并以这种方式显示它,但问题是给出的Display()方法是一个void函数。 以下是给定的代码:

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

    model.add(0, item1 + " " + item2 + " " + item3);
    list.setModel(model);
    }
有没有办法提取这些信息,这样我就可以在MainJFrame中使用它,而不用将其保存到文件或修改代码?从我缺乏经验的角度来看,这看起来是不可能的,每次我试图修改代码,例如,将字符串返回到MainJFrame时,我的指导老师都拒绝了。我真的没有主意了

我感谢你的意见

但问题是给出的Display()方法是一个void函数

返回void没有问题。由于
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!");
}  
我认为您的指导老师试图强调,这样做不需要返回任何值


建议阅读:

您不愿意修改代码的原因是什么?Java在调用方法时是“按值传递”,例如上面的方法被传递一个变元“list”,该变元成为局部变量。一旦您添加了模型,因为列表没有返回,局部变量可能会被垃圾收集器清除。这正是我所需要的。我想我没有想清楚,并且意识到我可以像任何基本变量一样在类之间传递文本框之类的东西。我一直试图用另一种方式来做。谢谢你的帮助。