附加另一个类的Textarea结果

时间:2012-09-12 10:32:27

标签: java swing

我有两个班级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);            
     }

3 个答案:

答案 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的另一个实例设置为可见。