ecco l'esempio di cui ti parlavo, il testo e' sempre in fondo ... ( anche se mi sa che non ti sto affatto aiutando... )
codice:
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class Client {
private TextArea ta_txt;
private TextField tf_txt;
private Button send_btn, quit_btn;
private Frame mainFrame;
private Socket myConnection = null;
private BufferedReader bufferReader = null;
private PrintStream mySender = null;
private Thread t = null;
public Client() {
ta_txt = new TextArea("", 10, 50, TextArea.SCROLLBARS_VERTICAL_ONLY);
tf_txt = new TextField(50);
send_btn = new Button("Send");
quit_btn = new Button("Quit");
}
public void launchFrame() {
send_btn.addActionListener(new MyButtonListener());
quit_btn.addActionListener(new MyButtonListener());
tf_txt.addKeyListener(new MyKeyListener());
mainFrame = new Frame("ChatClient V0.1");
mainFrame.add(ta_txt, BorderLayout.CENTER);
mainFrame.add(tf_txt, BorderLayout.SOUTH);
mainFrame.addWindowListener(new MyWindowListener());
Panel north_pan = new Panel(new BorderLayout());
north_pan.add(send_btn, BorderLayout.NORTH);
north_pan.add(quit_btn, BorderLayout.SOUTH);
Panel buttons_pan = new Panel(new BorderLayout());
buttons_pan.add(north_pan, BorderLayout.NORTH);
mainFrame.add(buttons_pan, BorderLayout.EAST);
mainFrame.pack();
mainFrame.setVisible(true);
}
private void write() {
ta_txt.append( "[a user] " + tf_txt.getText() + "\n" );
tf_txt.setText("");
tf_txt.requestFocus();
}
private void closeAppication() {
mainFrame.dispose();
}
class MyButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Send")) {
write();
}
else if(e.getActionCommand().equals("Quit")) {
closeAppication();
}
}
}
class MyWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
closeAppication();
}
}
class MyKeyListener extends KeyAdapter {
public void keyReleased(KeyEvent e) {
if(e.getKeyCode()==10) {
write();
}
}
}
public static void main(String[] args) {
Client testChat = new Client();
testChat.launchFrame();
}
}