如何从main函数int java将文本追加到JTextArea?

时间:2015-12-09 11:17:17

标签: java swing jtextarea

我想从主要功能向JTextArea添加一些文字,但它不起作用。

我正在追加来自init()main()的文字,但只有来自init()的文字出现在JTextArea上。

public class Test extends JApplet{

    private static JPanel panel = new JPanel();
    private static JTextArea textArea = new JTextArea();

    public void init() {   

        panel.setLayout(null); 
        panel.setPreferredSize(new Dimension(400,300)); 
        this.add(panel);

        textArea.setBounds(20, 150, 350, 100);
        panel.add(textArea);

        setTextArea("BBBB");
    }

    public static void setTextArea(String text){
        textArea.append(text);
    }
    public static void main(String args[]) {        
        setTextArea("AAAAA");
    }   

}

我正在使用" BBBB"来获得textarea。

更新

我还有一个功能。我从init()调用它,文字正在追加,一切都很好。但是,如果我放一行setTextArea("some text");  在clientSocket = new Socket(address, port);行之后,文字不会被追加。

 private static void connetToServer() throws IOException, InterruptedException {
        try {
            //address = args.length > 0 ? args[0] : "localhost";
            //port = args.length > 1 ? Integer.parseInt(args[1]) : 4444;
            //System.out.println(address + ' ' + port);
            setTextArea("some text");
            clientSocket = new Socket(address, port);
            output = new PrintStream(clientSocket.getOutputStream());
            input = new DataInputStream(clientSocket.getInputStream());
            inputLine = new DataInputStream(new BufferedInputStream(System.in));
        } 
        catch( IOException e){
            setTextArea("Can't connet to server");
            System.exit(0);
        }
     }

1 个答案:

答案 0 :(得分:3)

您的文本区域附加了“BBBB”,因为init方法用作appletsservlets的入口点。

您的班级extends JAppletjava.applet.Applet的子类,意味着它将使用init而不是main(而是用作应用程序的入口点)。< / p>