1 /*
2 *
3 * Save This Code as NewJFrame.java
4 */
5
6 /**
7 *
8 * @author Shubham
9 */
10 import java.awt.HeadlessException;
11 import java.net.*;
12 import java.io.*;
13 import javax.swing.JOptionPane;
14 public class NewJFrame extends javax.swing.JFrame implements Runnable {
15 String receive,send;
16 Socket sock ;
17 BufferedReader kread;
18 OutputStream os;
19 PrintWriter pw;
20 InputStream in;
21 BufferedReader receiver;
22 Thread t;
23
24 @Override
25 public void run()
26 {
27 try{
28 while(true)
29 {
30 if((receive= receiver.readLine()) != null)
31 {
32 jTextArea2.append("Server :"+receive+"n");
33 }
34 }
35 }
36 catch(Exception e)
37 {
38 JOptionPane.showMessageDialog(this, e);
39 }
40 }
41 /**
42 * Creates new form NewJFrame
43 */
44 public NewJFrame() {
45 initComponents();
46
47
48 }
49
50 /**
51 * This method is called from within the constructor to initialize the form.
52 * WARNING: Do NOT modify this code. The content of this method is always
53 * regenerated by the Form Editor.
54 */
55 @SuppressWarnings("unchecked")
56 // <editor-fold defaultstate="collapsed" desc="Generated Code">
57 private void initComponents() {
58
59 jPanel1 = new javax.swing.JPanel();
60 jTextField1 = new javax.swing.JTextField();
61 jButton1 = new javax.swing.JButton();
62 jLabel2 = new javax.swing.JLabel();
63 jLabel4 = new javax.swing.JLabel();
64 jLabel5 = new javax.swing.JLabel();
65 jButton3 = new javax.swing.JButton();
66 jLabel1 = new javax.swing.JLabel();
67 jPanel2 = new javax.swing.JPanel();
68 jTextField2 = new javax.swing.JTextField();
69 jButton2 = new javax.swing.JButton();
70 jScrollPane2 = new javax.swing.JScrollPane();
71 jTextArea2 = new javax.swing.JTextArea();
72 jLabel6 = new javax.swing.JLabel();
73
74 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
75 setTitle("Client");
76
77 jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
78
79 jButton1.setText("CONNECT");
80 jButton1.addActionListener(new java.awt.event.ActionListener() {
81 public void actionPerformed(java.awt.event.ActionEvent evt) {
82 jButton1ActionPerformed(evt);
83 }
84 });
85
86 jLabel2.setText("IP:");
87
88 jLabel4.setText("STATUS");
89
90 jLabel5.setText("SERVER DETAILS");
91
92 jButton3.setText("DISCONNECT");
93 jButton3.addActionListener(new java.awt.event.ActionListener() {
94 public void actionPerformed(java.awt.event.ActionEvent evt) {
95 jButton3
ActionPerformed(evt);
96 }
97 });
98
99 javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
100 jPanel1.setLayout(jPanel1Layout);
101 jPanel1Layout.setHorizontalGroup(
102 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
103 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
104 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
105 .addComponent(jLabel2)
106 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
107 .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
108 .addGap(30, 30, 30))
109 .addGroup(jPanel1Layout.createSequentialGroup()
110 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
111 .addGroup(jPanel1Layout.createSequentialGroup()
112 .addGap(80, 80, 80)
113 .addComponent(jLabel5))
114 .addGroup(jPanel1Layout.createSequentialGroup()
115 .addGap(30, 30, 30)
116 .addComponent(jButton1)
117 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
118 .addComponent(jButton3))
119 .addGroup(jPanel1Layout.createSequentialGroup()
120 .addGap(91, 91, 91)
121 .addComponent(jLabel4)))
122 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
123 );
124 jPanel1Layout.setVerticalGroup(
125 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
126
.addGroup(jPanel1Layout.createSequentialGroup()
127 .addGap(27, 27, 27)
128 .addComponent(jLabel5)
129 .addGap(32, 32, 32)
130 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
131 .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
132 .addComponent(jLabel2))
133 .addGap(36, 36, 36)
134 .addComponent(jLabel4)
135 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, Short.MAX_VALUE)
136 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
137 .addComponent(jButton1)
138 .addComponent(jButton3))
139 .addGap(35, 35, 35))
140 );
141
142 jLabel1.setFont(new java.awt.Font("Viner Hand ITC", 1, 24)); // NOI18N
143 jLabel1.setText("CLIENT");
144
145 jPanel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
146
147 jTextField2.setName("message"); // NOI18N
148
149 jButton2.setText("SEND");
150 jButton2.addActionListener(new java.awt.event.ActionListener() {
151 public void actionPerformed(java.awt.event.ActionEvent evt) {
152 jButton2ActionPerformed(evt);
153 }
154 });
155
156 jTextArea2.setColumns(20);
157 jTextArea2.setRows(5);
158 jScrollPane2.setViewportView(jTextArea2);
159
160 jLabel6.setText("MESSAGE");
161
162 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
163 jPanel2.setLayout(jPanel2Layout);
164 jPanel2Layout.setHorizontalGroup(
165 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
166 .addGroup(jPanel2Layout.createSequentialGroup()
167 .addContainerGap()
168 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 251, javax.swing.GroupLayout.PREFERRED_SIZE)
169 .addGap(0, 0, Short.MAX_VALUE))
170 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
171 .addGap(24, 24, 24)
172 .addComponent(jLabel6)
173 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
174 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
175 .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
176 .addComponent(jButton2))
177 .addGap(23, 23, 23))
178 );
179 jPanel2Layout.setVerticalGroup(
180 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
181 .addGroup(jPanel2Layout.createSequentialGroup()
182 .addContainerGap(33, Short.MAX_VALUE)
183 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
184 .addComponent(jTextField2, javax
.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
185 .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
186 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
187 .addComponent(jButton2)
188 .addGap(18, 18, 18)
189 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
190 .addContainerGap())
191 );
192
193 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
194 getContentPane().setLayout(layout);
195 layout.setHorizontalGroup(
196 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
197 .addGroup(layout.createSequentialGroup()
198 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
199 .addGroup(layout.createSequentialGroup()
200 .addContainerGap()
201 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
202 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
203 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
204 .addGroup(layout.createSequentialGroup()
205 .addGap(239, 239, 239)
206 .addComponent(jLabel1)))
207 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
208 );
209 layout.setVerticalGroup(
210 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
211 .addGroup(layout.createSequentialGroup()
212 .addContainerGap()
213 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
214 .addGap(35, 35, 35)
215 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
216 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
217 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
218 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
219 );
220
221 pack();
222 }// </editor-fold>
223
224 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
225 send= jTextField2.getText();
226 pw.println(send);
227 jTextArea2.append("Me:"+send+"n");
228 // TODO add your handling code here:
229 }
230
231 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
232 try{
233 String str;
234
235 str=jTextField1.getText();
236 if(str!=null){
237 sock = new Socket(str,8089);
238 os = sock.getOutputStream();
239 pw=new PrintWriter(os,true);
240 in = sock.getInputStream();
241 receiver = new BufferedReader(new InputStreamReader(in));
242 t=new Thread(this);
243 t.start();
244 }
245 else
246 {
247 JOptionPane.showMessageDialog(this, "Please Enter Valid IP");
248 }
249 }
250 catch(IOException | HeadlessException e)
251 {
252 JOptionPane.showMessageDialog(this, e);
253 }
254 }
255
256 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
257 try{
258 sock.close();
259 jLabel4.setText("Disconnected ....");
260 }
261 catch(Exception e)
262 {
263 }
264 }
265
266 /**
267 * @param args the command line arguments
268 */
269 public static void main(String args[]) {
270 /* Set the Nimbus look and feel */
271 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
272 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
273 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
274 */
275 try {
276 for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
277 if ("Nimbus".equals(info.getName())) {
278 javax.swing.UIManager.setLookAndFeel(info.getClassName());
279 break;
280 }
281 }
282 } catch (ClassNotFoundException ex) {
283 java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
284 } catch (InstantiationException ex) {
285 java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
286 } catch (IllegalAccessException ex) {
287 java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
288 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
289 java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
290 }
291 //</editor-fold>
292
293 /* Create and display the form */
294 java.awt.EventQueue.invokeLater(new Runnable() {
295 public void run() {
296 new NewJFrame().setVisible(true);
297
298
299
300 }
301 });
302 }
303 // Variables declaration - do not modify
304 private javax.swing.JButton jButton1;
305 private javax.swing.JButton jButton2;
306 private javax.swing.JButton jButton3;
307 private javax.swing.JLabel jLabel1;
308 private javax.swing.JLabel jLabel2;
309 private javax.swing.JLabel jLabel4;
310 private javax.swing.JLabel jLabel5;
311 private javax.swing.JLabel jLabel6;
312 private javax.swing.JPanel jPanel1;
313 private javax.swing.JPanel jPanel2;
314 private javax.swing.JScrollPane jScrollPane2;
315 private javax.swing.JTextArea jTextArea2;
316 private javax.swing.JTextField jTextField1;
317 private javax.swing.JTextField jTextField2;
318 // End of variables declaration
319 }
1 /*
2 * Save this file as ServerJFrame1.java
3 * auther @ : Shubham
4 */
5
6 import java.net.*;
7 import java.io.*;
8 import javax.swing.JOptionPane;
9
10
11 /**
12 *
13 * @author SHREE
14 */
15 public class ServerJFrame1 extends javax.swing.JFrame implements Runnable {
16
17 /**
18 * Creates new form ServerJFrame1
19 */
20
21 ServerSocket sersock;
22 Socket sock;
23 OutputStream os ;
24 PrintWriter pw ;
25 InputStream in ;
26 String receive, send;
27 BufferedReader receiver;
28 Thread t;
29
30 @Override
31 public void run()
32 {
33 try{
34 in = sock.getInputStream();
35 receiver = new BufferedReader(new InputStreamReader(in));
36 while(true)
37 {
38 if((receive = receiver.readLine()) != null)
39 {
40 jTextArea2.append("Client:"+receive+"n");
41
42 }
43 }
44 }
45 catch(Exception e)
46 {
47 JOptionPane.showMessageDialog(this,e);
48 }
49
50 }
51 public ServerJFrame1() {
52 initComponents();
53
54 }
55
56 /**
57 * This method is called from within the constructor to initialize the form.
58 * WARNING: Do NOT modify this code. The content of this method is always
59 * regenerated by the Form Editor.
60 */
61 @SuppressWarnings("unchecked")
62 // <editor-fold defaultstate="collapsed" desc="Generated Code">
63 private void initComponents() {
64
65 jPanel1 = new javax.swing.JPanel();
66 jButton1 = new javax.swing.JButton();
67 jLabel4 = new javax.swing.JLabel();
68 jButton3 = new javax.swing.JButton();
69 jPanel2 = new javax.swing.JPanel();
70 jTextField2 = new javax.swing.JTextField();
71 jButton2 = new javax.swing.JButton();
72 jScrollPane2 = new javax.swing.JScrollPane();
73 jTextArea2 = new javax.swing.JTextArea();
74 jLabel6 = new javax.swing.JLabel();
75
76 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
77
78 jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
79
80 jButton1.setText("START SERVER");
81 jButton1.addActionListener(new java.awt.event.ActionListener() {
82 public void actionPerformed(java.awt.event.ActionEvent evt) {
83 jButton1ActionPerformed(evt);
84 }
85 });
86
87 jLabel4.setText("STATUS");
88
89 jButton3.setText("STOP SERVER");
90 jButton3.addActionListener(new java.awt.event.ActionListener() {
91 public void actionPerformed(java.awt.event.ActionEvent evt) {
92 jButton3ActionPerformed(evt);
93 }
94 });
95
96 javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
97 jPanel1.setLayout(jPanel1Layout);
98 jPanel1Layout.setHorizontalGroup(
99 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
100 .addGroup(jPanel1Layout.createSequentialGroup()
101 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
102 .addGroup(jPanel1Layout.createSequentialGroup()
103 .addGap(112, 112, 112)
104 .addComponent(jLabel4))
105 .addGroup(jPanel1Layout.createSequentialGroup()
106 .addGap(80, 80, 80)
107 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
108 .addComponent(jButton3)
109 .addComponent(jButton1))))
110 .addContainerGap(99, Short.MAX_VALUE))
111 );
112 jPane
l1Layout.setVerticalGroup(
113 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
114 .addGroup(jPanel1Layout.createSequentialGroup()
115 .addGap(73, 73, 73)
116 .addComponent(jLabel4)
117 .addGap(32, 32, 32)
118 .addComponent(jButton1)
119 .addGap(18, 18, 18)
120 .addComponent(jButton3)
121 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
122 );
123
124 jPanel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
125
126 jTextField2.setName("message"); // NOI18N
127
128 jButton2.setText("SEND");
129 jButton2.addActionListener(new java.awt.event.ActionListener() {
130 public void actionPerformed(java.awt.event.ActionEvent evt) {
131 jButton2ActionPerformed(evt);
132 }
133 });
134
135 jTextArea2.setColumns(20);
136 jTextArea2.setRows(5);
137 jScrollPane2.setViewportView(jTextArea2);
138
139 jLabel6.setText("MESSAGE");
140
141 javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
142 jPanel2.setLayout(jPanel2Layout);
143 jPanel2Layout.setHorizontalGroup(
144 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
145 .addGroup(jPanel2Layout.createSequentialGroup()
146 .addContainerGap()
147 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 251, javax.swing.GroupLayout.PREFERRED_SIZE)
148 .addGap(0, 0, Short.MAX_VALUE))
149 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
150 .addGap(24, 24, 24)
151 .addComponent(jLabel6)
152 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
153 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
154 .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
155 .addComponent(jButton2))
156 .addGap(23, 23, 23))
157 );
158 jPanel2Layout.setVerticalGroup(
159 jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
160 .addGroup(jPanel2Layout.createSequentialGroup()
161 .addContainerGap(33, Short.MAX_VALUE)
162 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
163 .addComponent(jTextField2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
164 .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING))
165 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
166 .addComponent(jButton2)
167 .addGap(18, 18, 18)
168 .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
169 .addContainerGap())
170 );
171
172 javax.
swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
173 getContentPane().setLayout(layout);
174 layout.setHorizontalGroup(
175 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
176 .addGroup(layout.createSequentialGroup()
177 .addContainerGap()
178 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
179 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
180 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
181 .addContainerGap())
182 );
183 layout.setVerticalGroup(
184 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
185 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
186 .addContainerGap(29, Short.MAX_VALUE)
187 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
188 .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
189 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
190 .addContainerGap())
191 );
192
193 pack();
194 }// </editor-fold>
195
196 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
197 try{
198
199 sersock = new ServerSocket(8089);
200 jLabel4.setText("Server ready for chat...");
201 sock = sersock.accept();
202
203 t=new Thread(this);
204 t.start();
205
206 }
207 catch(Exception e)
208 {
209 JOptionPane.showMessageDialog(this, e);
210 }
211 }
212
213 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
214 try{
215 os = sock.getOutputStream();
216 pw = new PrintWriter(os, true);
217
218 send = jTextField2.getText();
219 pw.println(send);
220 jTextArea2.append("Me:"+send+"n");
221 }
222 catch(Exception e)
223 {
224 JOptionPane.showMessageDialog(this, e);
225 }
226 // TODO add your handling code here:
227 }
228
229 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
230 try{
231 sock.close();
232 sersock.close();
233 }
234 catch(Exception e)
235 {
236 JOptionPane.showMessageDialog(this,e);
237 }// TODO add your handling code here:
238 }
239
240 /**
241 * @param args the command line arguments
242 */
243 public static void main(String args[]) {
244 /* Set the Nimbus look and feel */
245 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
246 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
247 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
248 */
249 try {
250 for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
251 if ("Nimbus".equals(info.getName())) {
252 javax.swing.UIManager.setLookAndFeel(info.getClassName());
253 break;
254 }
255 }
256 } catch (ClassNotFoundException ex) {
257 java.util.logging.Logger.getLogger(ServerJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
258 } catch (InstantiationException ex) {
259 java.util.logging.Logger.getLogger(ServerJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
260 } catc
h (IllegalAccessException ex) {
261 java.util.logging.Logger.getLogger(ServerJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
262 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
263 java.util.logging.Logger.getLogger(ServerJFrame1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
264 }
265 //</editor-fold>
266
267 /* Create and display the form */
268 java.awt.EventQueue.invokeLater(new Runnable() {
269 public void run() {
270 new ServerJFrame1().setVisible(true);
271 }
272 });
273 }
274 // Variables declaration - do not modify
275 private javax.swing.JButton jButton1;
276 private javax.swing.JButton jButton2;
277 private javax.swing.JButton jButton3;
278 private javax.swing.JLabel jLabel4;
279 private javax.swing.JLabel jLabel6;
280 private javax.swing.JPanel jPanel1;
281 private javax.swing.JPanel jPanel2;
282 private javax.swing.JScrollPane jScrollPane2;
283 private javax.swing.JTextArea jTextArea2;
284 private javax.swing.JTextField jTextField2;
285 // End of variables declaration
286 }
287
Output:
Comments
Post a Comment