JAVA聊天器_客户端

Code:
  1. importjava.io.*;
  2. importjava.net.*;
  3. importjavax.swing.*;
  4. importjava.awt.*;
  5. importjava.awt.event.*;
  6. classclientThreadextendsEdClientimplementsRunnable
  7. {
  8. publicvoidrun(){
  9. //TODOAuto-generatedmethodstub
  10. try{
  11. Thread.sleep(20);
  12. receiveString=bufferReader.readLine();
  13. System.out.println("receive:"+receiveString);
  14. receiveText.setText(receiveString);
  15. }catch(IOExceptione){
  16. //TODOAuto-generatedcatchblock
  17. e.printStackTrace();
  18. }catch(InterruptedExceptione){
  19. //TODOAuto-generatedcatchblock
  20. e.printStackTrace();
  21. }
  22. }
  23. }
  24. publicclassEdClient{
  25. /**
  26. *thisisclient
  27. */
  28. JFrameframe;
  29. JPanelpanel;
  30. staticJTextFieldipText;
  31. staticJTextFieldportText;
  32. staticStringip="127.0.0.1";//ipaddress
  33. staticintport=5000;//port
  34. staticJButtonsentConfirm;
  35. staticSocketsock;
  36. staticBufferedReaderbufferReader;
  37. staticStringreceiveString,transferString;
  38. staticJTextFieldtransferText,receiveText;
  39. staticbooleanflag=false;
  40. publicvoidui()
  41. {
  42. frame=newJFrame("聊天客户端_徐方鑫");
  43. panel=newJPanel();
  44. frame.add(panel);
  45. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46. BoxpanelBox=Box.createVerticalBox();
  47. panel.add(panelBox);
  48. Boxipmain=Box.createHorizontalBox();
  49. panelBox.add(newJLabel(""));
  50. panelBox.add(ipmain);
  51. {
  52. JLabelipLabel=newJLabel("ip:");
  53. ipText=newJTextField("127.0.0.1",15);
  54. ipText.setHorizontalAlignment(JTextField.CENTER);//aligncenter
  55. ipmain.add(ipLabel);
  56. ipmain.add(ipText);
  57. JLabelportLabel=newJLabel("port:");
  58. portText=newJTextField("5000",8);
  59. portText.setHorizontalAlignment(JTextField.CENTER);
  60. ipmain.add(portLabel);
  61. ipmain.add(portText);
  62. }
  63. Boxipconfirm=Box.createHorizontalBox();
  64. panelBox.add(ipconfirm);
  65. /*
  66. JButtonipButton1=newJButton("连接");
  67. {
  68. ipButton1.addActionListener(newActionListener()
  69. {
  70. publicvoidactionPerformed(ActionEvente)
  71. {
  72. ip=ipText.getText();
  73. port=Integer.valueOf(portText.getText()).intValue();
  74. System.out.println(ip);
  75. System.out.println(port);
  76. RunnablethreadServer=newclientThread();
  77. finalThreadmythread=newThread(threadServer);
  78. netConnect();
  79. mythread.start();
  80. }
  81. });
  82. }
  83. */
  84. JButtonipButton2=newJButton("重置");
  85. {
  86. ipButton2.addActionListener(newActionListener()
  87. {
  88. publicvoidactionPerformed(ActionEvente)
  89. {
  90. ipText.setText("127.0.0.1");
  91. portText.setText("5000");
  92. try{
  93. sock.close();
  94. //transferText.setText(null);
  95. //receiveText.setText(null);
  96. }catch(IOExceptione1){
  97. //TODOAuto-generatedcatchblock
  98. e1.printStackTrace();
  99. }
  100. }
  101. });
  102. }
  103. //ipconfirm.add(ipButton1);
  104. //ipconfirm.add(ipButton2);
  105. BoxreceiveMain=Box.createHorizontalBox();
  106. panelBox.add(receiveMain);
  107. {
  108. JLabelreceive=newJLabel("接收:");
  109. receiveMain.add(receive);
  110. receiveText=newJTextField(20);
  111. receiveMain.add(receiveText);
  112. receiveText.enable(false);
  113. }
  114. BoxtransferMain=Box.createHorizontalBox();
  115. panelBox.add(transferMain);
  116. {
  117. JLabeltransfer=newJLabel("发送:");
  118. transferMain.add(transfer);
  119. transferText=newJTextField(20);
  120. transferMain.add(transferText);
  121. }
  122. BoxtalkConfirm=Box.createHorizontalBox();
  123. panelBox.add(talkConfirm);
  124. {
  125. sentConfirm=newJButton("发送");
  126. talkConfirm.add(sentConfirm);
  127. talkConfirm.add(ipButton2);
  128. }
  129. frame.setSize(400,150);
  130. frame.setVisible(true);
  131. }
  132. publicstaticvoidnetConnect()
  133. {
  134. try{
  135. sock=newSocket(ip,port);
  136. InputStreamReaderreader=newInputStreamReader(sock.getInputStream());
  137. bufferReader=newBufferedReader(reader);
  138. }catch(IOExceptionex)
  139. {
  140. ex.printStackTrace();
  141. JOptionPane.showMessageDialog(null,"连接失败");
  142. }
  143. }
  144. publicstaticvoidmain(String[]args){
  145. //TODOAuto-generatedmethodstub
  146. EdCliented=newEdClient();
  147. ed.ui();
  148. sentConfirm.addActionListener(newActionListener()
  149. {
  150. publicvoidactionPerformed(ActionEvente)
  151. {
  152. try{
  153. ip=ipText.getText();
  154. port=Integer.valueOf(portText.getText()).intValue();
  155. System.out.println(ip);
  156. System.out.println(port);
  157. RunnablethreadServer=newclientThread();
  158. finalThreadmythread=newThread(threadServer);
  159. netConnect();
  160. mythread.start();
  161. transferString=transferText.getText();
  162. System.out.println("sent:"+transferString);
  163. PrintWriterwriter=newPrintWriter(sock.getOutputStream());
  164. writer.println(transferString);
  165. writer.flush();
  166. }catch(IOExceptione1){
  167. //TODOAuto-generatedcatchblock
  168. e1.printStackTrace();
  169. }
  170. }
  171. });
  172. }
  173. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值