1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| import javax.swing.* ;
import java.net.* ;
import java.awt.* ;
import java.awt.event.* ;
import java.io.* ;
public class ClientJFrame1 implements ActionListener {
JFrame frame ;
JPanel chatPanel ;
JPanel inputPanel ;
JTextField textField ;
JTextArea textArea ;
JButton button ;
//ClientSocket clientSocket ;
public ClientJFrame1(){
// Create and set up the window of chat
frame = new JFrame("Chat Window") ;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
frame.setSize(new Dimension(300, 200)) ;
// Create and set up the panels
chatPanel = new JPanel( new BorderLayout() ) ;
inputPanel = new JPanel( new BorderLayout() ) ;
// Add widgets
addWidgets() ;
// Add the panel to the window
frame.getContentPane().add(chatPanel, BorderLayout.CENTER) ;
// frame.getContentPane().add(inputPanel, BorderLayout.SOUTH) ;
// Set the window visible
frame.setVisible( true ) ;
}
private static void createAndShowGUI(){
// Create a ClientChat class
ClientJFrame1 client = new ClientJFrame1() ;
ClientSocket clientSocket = new ClientSocket(client.textArea) ;
}
private void addWidgets(){
textField = new JTextField() ;
textArea = new JTextArea() ;
button = new JButton("Send") ;
textArea.setEditable(false) ;
inputPanel.add(textField, BorderLayout.CENTER) ;
inputPanel.add(button, BorderLayout.EAST) ;
chatPanel.add(new JScrollPane(textArea), BorderLayout.CENTER) ;
chatPanel.add(inputPanel, BorderLayout.SOUTH) ;
chatPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)) ;
// Add listeners to the button and the textField
button.addActionListener(this) ;
textField.addActionListener(this) ;
}
public void actionPerformed(ActionEvent e){
textArea.append(textField.getText() + "\n") ;
ClientSocket.sendOut(textField.getText(), textArea) ;
textField.setText("") ;
}
public static void main( String[] args ){
javax.swing.SwingUtilities.invokeLater( new Runnable() {
public void run(){
createAndShowGUI() ;
}
}) ;
}
} |
Partager