2

我有两个班 classGame 和 class wampusGUI。在wampusGUI课堂上,我有一个在方法下textarea命名。我正在努力从课堂上取得成果。但是当我试图从那个类访问时。运行良好,结果也出现在该类中(我只是通过简单的 方法测试),但它没有附加到. 这是我的代码。displayTextAreatextarea1()appendtextareaGamefunctionSystem.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类的代码

      private wampusGUI gui;

      public void testing () {         
          String welCome=welcome();
          gui= new wampusGUI();
          gui.textArea1(welCome);            
     }
4

3 回答 3

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);            
     }

这将工作......

于 2012-09-12T14:42:44.847 回答
4

将文本附加到TextArea

String str = textarea.getText();
str+="appending text";
textarea.setText(str);

它可能会帮助你。

于 2012-09-12T10:47:03.583 回答
2

您正在run()invokeLater 内创建一个wampusGUI 实例,并在testing()方法内创建一个wampusGUI 实例。

您实际上正在做的是将文本附加到您看不到的文本区域(可能),因为您有另一个 wampusGUI 实例可见。

于 2012-09-12T13:32:04.450 回答