📄 client_presentation_logic_layer.java
字号:
import java.awt.Button;
import java.awt.Rectangle;
import java.awt.TextArea;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.awt.event.*;
import java.io.IOException;
public class Client_presentation_logic_layer extends JFrame{
JLabel jLabel_ip = new JLabel();
JLabel jLabel_port = new JLabel();
JLabel jLabel_name = new JLabel();
JTextField jTextField_ip = new JTextField();
JTextField jTextField_port = new JTextField();
JTextField jTextField_name = new JTextField();
TextArea textArea1 = new TextArea();
TextArea textArea2 = new TextArea();
Button button_send = new Button();
Button button_connect = new Button();
Button button_disconnect = new Button();
static Client_presentation_logic_layer layer3;
static Client_application_logic_layer layer2;
Client_presentation_logic_layer(){
try{
Init();
this.setBounds(100,200,410,370);
this.validate();
this.setVisible(true);
this.setTitle("Client");
}
catch(Exception ex) {
ex.printStackTrace();
}
}
void Init() throws Exception
{
jLabel_ip.setFont(new java.awt.Font("宋体", 0, 14));
jLabel_ip.setText("IP:");
jLabel_ip.setBounds(new Rectangle(18, 8, 40, 30));
jTextField_ip.setBounds(new Rectangle(60, 8, 120, 30));
jTextField_ip.setText("192.168.1.102");
jLabel_port.setFont(new java.awt.Font("宋体", 0, 14));
jLabel_port.setText("Port:");
jLabel_port.setBounds(new Rectangle(18, 50, 50, 30));
jTextField_port.setBounds(new Rectangle(60, 50, 120, 30));
jTextField_port.setText("2009");
jLabel_name.setFont(new java.awt.Font("宋体", 0, 14));
jLabel_name.setText("Name:");
jLabel_name.setBounds(new Rectangle(18, 90, 50, 30));
jTextField_name.setBounds(new Rectangle(60, 90, 120, 30));
jTextField_name.setText("赵力");
textArea1.setColumns(10);
textArea1.setFont(new java.awt.Font("宋体", 0, 14));
textArea1.setText("");
textArea1.setBounds(new Rectangle(200, 152, 384, 139));
this.getContentPane().setLayout(null);
textArea2.setBounds(new Rectangle(200, 5, 384, 139));
textArea2.setColumns(0);
textArea2.setEditable(false);
textArea2.setFont(new java.awt.Font("宋体", 0, 14));
textArea2.setRows(0);
textArea2.setSelectionEnd(0);
textArea2.setSelectionStart(10);
textArea2.setText("");
button_connect.setLabel("CONNECT");
button_connect.setBounds(new Rectangle(8, 299, 81, 25));
button_connect.addActionListener(new Chat_button_connect_listener());
button_disconnect.setLabel("DISCONNECT");
button_disconnect.setBounds(new Rectangle(108, 299, 81, 25));
button_disconnect.addActionListener(new Chat_button_disconnect_listener());
button_send.setLabel("send");
button_send.setBounds(new Rectangle(300, 300, 81, 25));
button_send.addActionListener(new Chat_button_send_listener());
this.getContentPane().add(jLabel_ip, null);
this.getContentPane().add(jLabel_port, null);
this.getContentPane().add(jLabel_name, null);
this.getContentPane().add(jTextField_ip, null);
this.getContentPane().add(jTextField_port, null);
this.getContentPane().add(jTextField_name, null);
this.getContentPane().add(textArea1, null);
this.getContentPane().add(textArea2, null);
this.getContentPane().add(button_connect);
this.getContentPane().add(button_disconnect);
this.getContentPane().add(button_send, null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocale(java.util.Locale.getDefault());
this.setResizable(false);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args)
{
try{
layer3 = new Client_presentation_logic_layer();
layer2 = new Client_application_logic_layer(layer3);
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
class Chat_button_send_listener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(textArea1.getText().equals(""))
{
String ts="警告:消息不允许为空!^_^";
JOptionPane.showMessageDialog(null,ts,"警告",JOptionPane.WARNING_MESSAGE);
//showMessage(ts);
}
else{
try{
layer3.textArea2.append("我>"+layer3.textArea1.getText()+"\n");
layer2.skt.sendMessage(layer3.jTextField_name.getText()+":"+layer3.textArea1.getText());
layer3.textArea1.setText("");
}
catch (IOException er) {
String JG="系统信息:用户"+layer3.jTextField_ip.getText()+"不在线!"+'\n'+"用户:"+layer3.jTextField_name.getText()+"消息"+layer3.textArea1.getText()+ "发送不成功!";
JOptionPane.showMessageDialog(null,JG,"提示",JOptionPane.WARNING_MESSAGE);
layer3.textArea2.append(er.toString());;
}
}
}
}
class Chat_button_connect_listener implements ActionListener{
public void actionPerformed(ActionEvent e){
layer2.start();
}
}
class Chat_button_disconnect_listener implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
layer2.skt.sendMessage("disconnect");
}
catch (IOException er) {
layer3.textArea2.append(er.toString());;
}
layer2.skt.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -