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



Rispondi quotando