/* * ChatClientGUI.java * * Created on den 30 augusti 2001, 19:02 */ package ip1.u3.a; /** Användargränssnittet för ChatClient-applikationen. Skickar användarens meddelanden * till kontrollklassen som tar hand om logiken. Visar upp de meddelanden som fås från * kontrollklassen. * * @author Henrik Johansson, DS80 * @version ht2001 */ public class ChatClientGUI extends javax.swing.JFrame { private ChatClient parent; /** Skapar en ny ChatClientGUI * *@param parent Kontrollklassen */ public ChatClientGUI(ChatClient parent) { this.parent = parent; initComponents(); messages.setEditable(false); } /** Visar upp meddelanden för användaren * *@param message Meddelande som skall visas upp */ protected void appendMessage(String message) { messages.append(message + '\n'); messages.setCaretPosition(messages.getText().length()); } /** Visar upp serveradress och portnummer i titelraden. * *@param server Serveradress som skall visas. *@param port Portnummer som skall visas */ protected void updateTitle(String server, int port) { setTitle("server: " + server + ", port: " + port); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents jPanel2 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); message = new javax.swing.JTextField(); postMessage = new javax.swing.JTextField(); jPanel4 = new javax.swing.JPanel(); sendButton = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); messages = new javax.swing.JTextArea(); getContentPane().setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints1; addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); jPanel2.setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints2; jPanel2.setPreferredSize(new java.awt.Dimension(200, 38)); jPanel2.setMinimumSize(new java.awt.Dimension(200, 40)); jPanel3.setLayout(new java.awt.GridBagLayout()); java.awt.GridBagConstraints gridBagConstraints3; message.setHorizontalAlignment(javax.swing.JTextField.LEFT); message.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { messageActionPerformed(evt); } }); gridBagConstraints3 = new java.awt.GridBagConstraints(); gridBagConstraints3.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints3.insets = new java.awt.Insets(0, 5, 0, 0); gridBagConstraints3.weightx = 1.0; jPanel3.add(message, gridBagConstraints3); postMessage.setPreferredSize(new java.awt.Dimension(80, 21)); postMessage.setMinimumSize(new java.awt.Dimension(40, 21)); gridBagConstraints3 = new java.awt.GridBagConstraints(); jPanel3.add(postMessage, gridBagConstraints3); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints2.weightx = 1.0; gridBagConstraints2.weighty = 1.0; jPanel2.add(jPanel3, gridBagConstraints2); sendButton.setText("Skicka"); sendButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { sendButtonActionPerformed(evt); } }); jPanel4.add(sendButton); gridBagConstraints2 = new java.awt.GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints2.anchor = java.awt.GridBagConstraints.EAST; jPanel2.add(jPanel4, gridBagConstraints2); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.gridx = 0; gridBagConstraints1.gridy = 1; gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH; getContentPane().add(jPanel2, gridBagConstraints1); jScrollPane1.setPreferredSize(new java.awt.Dimension(320, 120)); jScrollPane1.setMinimumSize(new java.awt.Dimension(320, 120)); messages.setForeground(java.awt.Color.blue); messages.setFont(new java.awt.Font("Dialog", 1, 14)); messages.setBackground(java.awt.Color.yellow); jScrollPane1.setViewportView(messages); gridBagConstraints1 = new java.awt.GridBagConstraints(); gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints1.weightx = 1.0; gridBagConstraints1.weighty = 2.0; getContentPane().add(jScrollPane1, gridBagConstraints1); pack(); }//GEN-END:initComponents private void messageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_messageActionPerformed sendMessage(); }//GEN-LAST:event_messageActionPerformed private void sendButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sendButtonActionPerformed sendMessage(); }//GEN-LAST:event_sendButtonActionPerformed private void sendMessage() { parent.sendMessage(message.getText() + " " + postMessage.getText()); message.setText(""); message.requestFocus(); } /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm parent.exit(); }//GEN-LAST:event_exitForm // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JTextField message; private javax.swing.JTextField postMessage; private javax.swing.JPanel jPanel4; private javax.swing.JButton sendButton; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea messages; // End of variables declaration//GEN-END:variables }