我一直在仔细查看这个网站,试图找到我的问题的答案,但我无法在任何地方找到它。我是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中使用它,而无需将其保存到文件或修改代码?从我没有经验的观点来看,这看起来不太可能,每次我尝试修改此代码时,例如,将一个String返回给MainJFrame,它被我的教师拒绝了。我真的没想到了。
感谢您的意见。
答案 0 :(得分:1)
但问题是给出的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!");
}
我认为你的导师试图强调没有必要返回任何价值来做这件事。