📄 client.java
字号:
package net.client;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Client extends JFrame {
ClientSocketOne cso;
JTextArea textArea;
JTextField textField;
public Client() {
super();
setResizable(false);
startClient(this);
getContentPane().setLayout(null);
setTitle("聊天(客户端)");
final JLabel label = new JLabel();
label.setText("Client聊天 o(∩_∩)o");
label.setBounds(0, 0, 344, 28);
getContentPane().add(label);
final JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(0, 34, 344, 306);
getContentPane().add(scrollPane);
textArea = new JTextArea();
textArea.setEditable(false);
scrollPane.setViewportView(textArea);
textField = new JTextField();
textField.setBounds(0, 346, 266, 23);
textField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
read();
}
});
getContentPane().add(textField);
final JButton button = new JButton();
button.setText("发送");
button.setBounds(270, 345, 74, 25);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
read();
}
});
getContentPane().add(button);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
cso.close();
System.exit(0);
}
});
Dimension d = getToolkit().getScreenSize();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(d.getSize().width/2-Data.WIDTH/2, d.getSize().height/2-Data.HEIHT/2);
System.out.println(d.getSize().width/2-Data.WIDTH);
this.setSize(Data.WIDTH,Data.HEIHT);
this.setVisible(true);
}
/**
* 发送数据
*
*/
private void read(){
String st = textField.getText();
if(!isBlank(st)){
textArea.append("客户说: "+st+"\n");
cso.rend(st);
textField.setText("");
}else{
JOptionPane.showMessageDialog(null,"请不要发空信息!","发送错误",JOptionPane.ERROR_MESSAGE);
}
}
/**
*
* @判断发送是否为空
* @return
*/
private boolean isBlank(String st){
if(st.trim().equals("")){
//System.out.println("kong");
return true;
}else{
return false;
}
}
/**
* 开启客户端
*
*/
private void startClient(Client client){
cso = new ClientSocketOne(client);
cso.starts();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Client();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -