📄 clieframe.txt
字号:
package sockproj;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import com.borland.jbcl.layout.*;
public class ClieFrame extends JFrame{
JPane1 contentPane;
XYLayout xYLayout1=new XYLayout();
JButton jButton1=new JButton();
JLabel jLabel1=new JLabel1();
JTextField jTextField1=new JTextField();
JButton jButton2=new JButton();
JScrollPane jScollPane1=new JScollPane();
JTextArea jTextArea1=new JTextArea();
Socket Socket1;
InputStream is;
OutputStream os;
BufferedReader br;
PrintWriter pw;
Thread t1=null;
//构建界面
public clieFrame(){
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try{
jbInit();
}
catch(Exception e){
e.printStackTrace();
}
}
//组件初始化
private void jbInit() throws Exception{
contentPane=(JPane1)this.getContentPane();
jButton1.setText("连接服务器");
jButton1.addActionListener(new clieFrame_jButton1_actionListener(this));
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(400,300));
this.setTitle("Frame Title");
jLabel1.setText("消息");
jTextField1.setText("jTextField1");
jButton2.setText("发送");
jButton2.addActionListener(new clieFrame_jButton2_actionAdapter(this));
contentPane.setBorder(BorderFactory.createLoweredBevelBorder());
jTextArea1.setText("jTextArea1");
contentPane.add(jButton1,new XYConstrains(5,8,-1,-1));
contentPane.add(jScrollPane1,new XYConstraints(7,47,385,246));
contentPane.add(jButton2,new XYConstraints(319,8,-1,-1));
contentPane.add(jTextField1,new XYConstraints(170,8,143,28));
contentPane.add(jLabel1,new XYConstraints(113,11,-1,-1));
jScrollPane1.getViewport().add(jTextArea1,null);
}
//关闭窗口时退出
protected void processWindowEvent(WindowEvent e){
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING){
System.exit(0);
}
}
class receiver implements Runnable{
public receiver(){};
public void run(){
String str="";
while(true){
try{
str=br.readLine();
if(str!=null)
jTextArea1.append("from server:"+str+"\n");
}
catch(Exception e){
}
}
}
}//receiver
void jButton1_actionPerformed(ActionEvent e){
try{
Socket1=new Socket(InetAddress.getLocalHost(),8080);
JOptionPane.showMessageDialog(this,"连接成功");
}
catch(Exception e1){
JOptionPane.showMessageDialog(this,"err:"+e1.toString());
}
try{
jButton1.setEnabled(false);
is=Socket1.getInputStream();
os=Socket1.getOutputStream();
br=new BufferedReader(new InputStreamReader(is));
pw=new PrintWriter(os);
t1=new Thread(new receiver());
t1.start();
}
catch(Exception e1){
JOptionPane.showMessageDialog(this,"err:"+e1.toString());
}
}
void jButton2_actionPerformed(ActionEvent e){
String str="";
if(Socket1!=null){
try{
str=jTextField1.getText()+"\n";
jTextArea1.append("to server:"+str);
pw.write(str);
pw.flush();
if(str.equals("e\n")){
is.close();
os.close();
br.close();
pw.close();
Socket1.close();
jButton1.setEnabled(true);
}
jTextField1.setText("");
}
catch(Exception e1){
JOptionPane.showMessageDialog(this,"err:"+e1.toString());
}
}
}
}//clieFrame
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -