【问题标题】:Can not print in Text area from same class?不能在同一班级的文本区域打印?
【发布时间】:2023-04-01 01:36:01
【问题描述】:

我想在名为arena 的文本区域中打印。我从同一个班级调用append 方法,到目前为止没有运气。如何在文本区域中打印字符串?

public class Chat_window extends javax.swing.JFrame implements Runnable {

    public static DataInputStream in = null;
    public static PrintStream out = null;
    private static Socket cs = null;
    private static BufferedReader zz;
    private static boolean alive = true;

    public Chat_window() {    
        initComponents();
    }

    public static void main(String args[]) {
          java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
               Chat_window w=new Chat_window();
                w.setVisible(true);

            }
        });
          try {
            cs = new Socket("localhost", 3333);
            out = new PrintStream(cs.getOutputStream());
            zz = new BufferedReader(new InputStreamReader(System.in));
            in = new DataInputStream(cs.getInputStream());
        } catch (Exception ex) {
            System.out.println(ex);
        }
        if (cs != null && out != null && in != null) {
            try {
                new Thread(new Chat_window()).start();
                while (alive) {
                    out.println(zz.readLine().trim());                 
                }
                out.close();
                in.close();
                cs.close();
            } catch (Exception error) {
                System.out.println(error);

            }
        }      
    }
   @Override

    public void run() {      
        try {
            while ((m = in.readLine()) != null) {             
                **arena.append(m);**             //This line doesnt work             
                System.out.println(m);               
            }         
        } catch (Exception e) {
            System.out.println(e);
        }    
    }

    // Variables declaration                      
    private java.awt.TextArea arena;

    private java.awt.TextArea textArea2;
    private java.awt.TextArea usrchat;
    // End of variables declaration                   

}

【问题讨论】:

  • 我知道这是关于创建一个不可见的重复文本区域,但是如何让它打印在主文本区域???
  • 不起作用是什么意思?
  • 该行在文本区域不打印任何内容

标签: java textarea


【解决方案1】:

尝试用arena.setText(arena.getText()+"\n"+m);替换它

或者 arena.setText(arena.getText()+m); 如果您不想在两者之间添加新行:)

【讨论】:

  • 感谢您的回复,但它不起作用。仅当您选择文本区域并按任意键时才会显示文本区域。仅显示最后一行。我想以与控制台上相同的方式打印它。
猜你喜欢
  • 2012-01-29
  • 2022-07-23
  • 2016-02-22
  • 1970-01-01
  • 2011-11-14
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多