我有两个班级Game
和班级wampusGUI
。在wampusGUI
课程中,我在方法textarea
下有一个名为displayTextArea
的{{1}}。
我正在尝试从textarea1()
课程append
textarea
结果Game
。但是当我试图从那个班级进入时。 function
正常运行并且结果也会出现在该类中(我只是通过System.out.print()
方法进行测试),但它不会附加到textarea
。这是我的代码。
// Code of wampusGUI class
public class wampusGUI extends javax.swing.JFrame {
/**
* Creates new form wampusGUI
*/
public wampusGUI() {
initComponents();
}
public void textArea1(String text) {
System.out.print(text);
displayTextArea.append(text); // this is not appending to textarea.
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new wampusGUI().setVisible(true);
Game g = new Game();
g.testing();
}
});
}
//这是Game class的代码
private wampusGUI gui;
public void testing () {
String welCome=welcome();
gui= new wampusGUI();
gui.textArea1(welCome);
}
答案 0 :(得分:7)
在代码中进行此更改
在你的头等舱wampusGUI
public class wampusGUI extends javax.swing.JFrame {
/**
* Creates new form wampusGUI
*/
public wampusGUI() {
initComponents();
}
public void textArea1(String text) {
System.out.print(text);
displayTextArea.append(text); // this is not appending to textarea.
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
wampusGUI w=new wampusGUI();
w.setVisible(true);
Game g = new Game(w);
g.testing();
}
});
}
对于二等游戏
private wampusGUI gui;
//Add Contructor with Parameter
public Game(wampusGUI w){
//put this line of code at the end
gui=w;
}
public void testing () {
String welCome=welcome();
gui.textArea1(welCome);
}
这将有效...
答案 1 :(得分:4)
在TextArea
String str = textarea.getText();
str+="appending text";
textarea.setText(str);
它可能对你有帮助。
答案 2 :(得分:2)
您正在invokeLater的run()
内创建一个wampusGUI实例,并在testing()
方法中创建一个wampusGUI实例。
你实际上在做的是将文本附加到你看不到的文本区域(可能),因为你将wampusGUI的另一个实例设置为可见。