//请看我的说话程序,一个输入框输入文字,一个输出框输出
import java.awt.*;
import java.awt.event.*;public class Chat extends Frame {     // 说话窗口 TextArea ta = new TextArea();  //输出框
TextField tf = new TextField(); //输入框
static String comment = null;   //输出框字符串 public void launchFrame() {    //窗口初始化
add(ta, "Center");
add(tf, "South");
comment = "";
ta.setEditable(false);
setLocation(400, 300);
setSize(300, 300);
pack();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

tf.addActionListener(new TFListener());
setVisible(true);
}

private class TFListener implements ActionListener {  // 输入框监听,每次输入保存在comment内
public void actionPerformed(ActionEvent e) {
TextField txf = (TextField) e.getSource();
comment.concat(txf.getText()+"/n");
ta.setText(comment);  //输出框显示所有输入内容
tf.setText("");
}

}

public static void main(String[] args) {
new ChatClient().launchFrame();
}}//问题是:输出框不显示输入的内容

解决方案 »

  1.   

    LZ,你“comment.concat(txf.getText()+"/n"); ”这句有问题。
    comment原来是"",执行上面这句后comment不会被改变。
    我想,也许依照你的意思,改成“comment = txf.getText().concat("/n");”,就可以了。
    "/n"好像也有问题,你想加“/n”?貌似你想加"\n"吧?
    不过就算这样,txf最多也只能表示一行。你想不断换行的话,改成下面就可以:
    comment = comment + "\n"+ txf.getText();
      

  2.   

    [code]
    tf.addActionListener(new ActionListener() { @Override
    public void actionPerformed(ActionEvent e) {
    TextField txf = (TextField) e.getSource();
    comment = comment.concat(txf.getText() + "\n");
    ta.setText(comment); // 输出框显示所有输入内容
    tf.setText(""); } });
    [/code]
    就可以了.
      

  3.   

    1楼的 说得不错 呵呵。
    我以前也没有注意到String类的一些方法不会改变String的。谢谢
      

  4.   

    //请看我的说话程序,一个输入框输入文字,一个输出框输出 
    import java.awt.*; 
    import java.awt.event.*; public class Chat extends Frame {     // 说话窗口 TextArea ta = new TextArea();  //输出框 
    TextField tf = new TextField(); //输入框 
    static String comment = null;   //输出框字符串 public void launchFrame() {    //窗口初始化 
    add(ta, "Center"); 
    add(tf, "South"); 
    comment = ""; 
    ta.setEditable(false); 
    setLocation(400, 300); 
    setSize(300, 300); 
    pack(); 
    addWindowListener(new WindowAdapter() { 
    public void windowClosing(WindowEvent e) { 
    System.exit(0); 

    }); tf.addActionListener(new TFListener()); 
    setVisible(true); 
    } private class TFListener implements ActionListener {  // 输入框监听,每次输入保存在comment内 
    public void actionPerformed(ActionEvent e) { 
    TextField txf = (TextField) e.getSource(); 
    comment.concat(txf.getText()+"/n"); 
    ta.setText(comment);  //输出框显示所有输入内容 
    tf.setText(""); 
    } } public static void main(String[] args) { 
    new ChatClient().launchFrame(); 
    } } //问题是:输出框不显示输入的内容
      

  5.   

    试试StringBuffer
    然后使用append 方法!