Results 1 to 3 of 3

Thread: Help pls

  1. #1
    niba10 is offline Member
    Join Date
    Feb 2011
    Posts
    30
    Rep Power
    0

    Default Help pls

    hi im trying to build chat program in java and i have source code of multithreaded server and client and its work but its not have a gui
    so i desgin a gui in netbeans and i want the prints of the server and client will be on the gui and not in the console so i tried this :

    Java Code:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * NewJFrame.java
     *
     * Created on 18/02/2011, 18:58:15
     */
    
    /**
     *
     * @author Ran
     */
    import java.io.*;
    import java.net.*;
    public class ClientGUI extends javax.swing.JFrame implements Runnable {
    
    	 // Declaration section
        // clientClient: the client socket
        // os: the output stream
        // is: the input stream
        
        static Socket clientSocket = null;
        static PrintStream os = null;
        static DataInputStream is = null;
        static BufferedReader inputLine = null;
        static boolean closed = false;
        /** Creates new form NewJFrame */
        public ClientGUI() {
            initComponents();
        }
    
        /** 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.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
    
            jPopupMenu1 = new javax.swing.JPopupMenu();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTextArea1 = new javax.swing.JTextArea();
            jButton1 = new javax.swing.JButton();
            jTextField1 = new javax.swing.JTextField();
            jMenuBar1 = new javax.swing.JMenuBar();
            jMenu1 = new javax.swing.JMenu();
            jMenuItem3 = new javax.swing.JMenuItem();
            jMenuItem2 = new javax.swing.JMenuItem();
            jMenuItem1 = new javax.swing.JMenuItem();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jScrollPane1.setViewportView(jTextArea1);
    
            jButton1.setText("Send");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            jTextField1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jTextField1ActionPerformed(evt);
                }
            });
    
            jMenu1.setText("File");
    
            jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
            jMenuItem3.setText("Copy Text");
            jMenu1.add(jMenuItem3);
    
            jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PRINTSCREEN, 0));
            jMenuItem2.setText("Capture Screen");
            jMenu1.add(jMenuItem2);
    
            jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
            jMenuItem1.setText("Exit");
            jMenu1.add(jMenuItem1);
    
            jMenuBar1.add(jMenu1);
    
            setJMenuBar(jMenuBar1);
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 524, Short.MAX_VALUE)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 398, Short.MAX_VALUE)
                    .addGap(18, 18, 18)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)
                        .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE))
                    .addContainerGap())
            );
    
            pack();
        }// </editor-fold>
    
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
        }
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
        	System.out.println ("hi");
        }
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
           
                    new ClientGUI().setVisible(true);
                    
    //              The default port
    
                	int port_number=2222;
                        String host="localhost";
    
                	if (args.length < 2)
                	    {
                		
                		System.out.println("Usage: java MultiThreadChatClient  \n"+
                				   "Now using host="+host+", port_number="+port_number);
                	    } else {
                		host=args[0];
                		port_number=Integer.valueOf(args[1]).intValue();
                	    }
                	// Initialization section:
                	// Try to open a socket on a given host and port
                	// Try to open input and output streams
                	try {
                            clientSocket = new Socket(host, port_number);
                            inputLine = new BufferedReader(new InputStreamReader(System.in));
                            os = new PrintStream(clientSocket.getOutputStream());
                            is = new DataInputStream(clientSocket.getInputStream());
                        } catch (UnknownHostException e) {
                            System.err.println("Don't know about host "+host);
                        } catch (IOException e) {
                            System.err.println("Couldn't get I/O for the connection to the host "+host);
                        }
    
                	// If everything has been initialized then we want to write some data
                	// to the socket we have opened a connection to on port port_number
    
                        if (clientSocket != null && os != null && is != null) {
                            try {
    
                		// Create a thread to read from the server
    
                                new Thread(new ClientGUI()).start();
    
                		while (!closed) {
                                    os.println(inputLine.readLine());
                                }
    
                		// Clean up:
                		// close the output stream
                		// close the input stream
                		// close the socket
    
                		os.close();
                		is.close();
                		clientSocket.close();
                            } catch (IOException e) {
                                System.err.println("IOException:  " + e);
                            }
                        }
            
        }
    
        // Variables declaration - do not modify
        private javax.swing.JButton jButton1;
        private javax.swing.JMenu jMenu1;
        private javax.swing.JMenuBar jMenuBar1;
        private javax.swing.JMenuItem jMenuItem1;
        private javax.swing.JMenuItem jMenuItem2;
        private javax.swing.JMenuItem jMenuItem3;
        private javax.swing.JPopupMenu jPopupMenu1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextField jTextField1;
        // End of variables declaration
    	public void run()
    	{
    		String responseLine;
    
    		// Keep on reading from the socket till we receive the "Bye" from the server,
    		// once we received that then we want to break.
    		try{
    		    while ((responseLine = is.readLine()) != null) {
    			System.out.println(responseLine);
    			jTextArea1.setText(responseLine);
    			if (responseLine.indexOf("*** Bye") != -1) break;
    		    }
    	            closed=true;
    		} catch (IOException e) {
    		    System.err.println("IOException:  " + e);
    		}
    	}
    
    }
    any suggestions?

  2. #2
    RocoStar is offline Member
    Join Date
    Feb 2011
    Posts
    3
    Rep Power
    0

    Default

    what is your exact question:
    - do you get any error?
    or
    - you are asking somebody to do the job for you?

  3. #3
    niba10 is offline Member
    Join Date
    Feb 2011
    Posts
    30
    Rep Power
    0

    Default

    idont get any error
    the server need send me back a string into the responseLine and the i use
    jTextArea1.setText(responsLine);
    and its not set anything when i run the program but when i print it to conlose (s.o.p)
    its work but i want it print in the jTextArea1

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •