📄 serverframe.java~1~
字号:
package jqq.server;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.Color;
public class ServerFrame implements ActionListener
{
ChatServer cs = new ChatServer();
JFrame frame;
JPanel pane;
JTextArea jTexArea;
JTextArea jTextAreaMsg;
JScrollPane jsp;
JScrollPane jspMsg;
JLabel jLabelPort;
JTextField jTextFiled;
JButton jButton;
JButton jButtonMsg;
JButton jButtonCon;
String stri = null;//服务器消息字符串
boolean ServerButton = false;
boolean ServerButtonMsg = false;
public void setCharServer(ChatServer cs)
{
this.cs = cs;
}
public void startFrame()
{
frame = new JFrame("服务器");
pane = new JPanel();
jTexArea = new JTextArea();
jTextAreaMsg = new JTextArea();
jsp = new JScrollPane(jTexArea);
jspMsg = new JScrollPane(jTextAreaMsg);
jLabelPort = new JLabel("服务器端口号");
jTextFiled = new JTextField("8888");
jButton = new JButton("开启服务器");
jButtonCon = new JButton("开启客服端连接");
jButtonMsg = new JButton("发送服务器消息");
pane.setLayout(null);
jsp.setBounds(5, 10, 380, 230);
jspMsg.setBounds(5,250,330,100);
jLabelPort.setBounds(400,25,80,20);
jTextFiled.setBounds(400,50,80,20);
jButton.setBounds(392,100,125,30);
jButtonMsg.setBounds(350,280,125,30);
jButtonCon.setBounds(392,140,125,30);
jButton.setBackground(new Color(130,170,130));
jButtonMsg.setBackground(new Color(155,200,215));
//jButtonCon.setBackground(new Color(155,200,215));
jButtonCon.setEnabled(false);//默认为不可使用状态
jButtonMsg.setEnabled(false);//默认为不可使用状态
jTexArea.setLineWrap(true);
jTexArea.setEditable(false);
jTextAreaMsg.setToolTipText("在此处输入发送消息");
pane.add(jsp);
pane.add(jspMsg);
pane.add(jLabelPort);
pane.add(jTextFiled);
pane.add(jButton);
pane.add(jButtonMsg);
pane.add(jButtonCon);
frame.add(pane);
frame.setResizable(false);
jButton.addActionListener(this);
jButtonMsg.setActionCommand("发送服务器消息");
jButtonMsg.addActionListener(this);
jButtonCon.setActionCommand("开启客服端连接");
jButtonCon.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(150, 120, 530, 280);
//frame.setAlwaysOnTop(true);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
ServerButton =true; //每次点击按钮事件默认改为服务器开启状态
String str = e.getActionCommand();
if(str.equals("开启客服端连接"))
{
Con();
}
if(str.equals("开启服务器")) //设置是否可以使用
{
jTextFiled.setEnabled(false);
jButtonCon.setEnabled(true);
jButtonMsg.setEnabled(true);
ServerButton = true;
frame.setSize(530, 400);
start(); //启动服务器
}
else if(str.equals("关闭服务器"))
{
jTextFiled.setEnabled(true);
ServerButton = false;
frame.setSize(530, 280);
close();
}
if(ServerButton==false) //设置按钮颜色转换
{
jButton.setText("开启服务器");
jButton.setBackground(new Color(130,170,130));
ServerButton=true;
}
else if(ServerButton==true)
{
jButton.setText("关闭服务器");
jButton.setBackground(new Color(210,130,120));
ServerButton=false;
}
if(str.equals("发送服务器消息")) //设置按钮颜色转换
{
stri = jTextAreaMsg.getText();
if(stri.equals(""))
{
JOptionPane.showMessageDialog(frame,"发送的消息不能为空!");
}
else
{
jTexArea.append("服务器消息:");
jTexArea.append("\n");
jTexArea.append(stri);
jTextAreaMsg.setText("");
jTexArea.append("\n");
}
}
frame.validate();
}
public void start()
{
cs.startServer(Integer.valueOf(jTextFiled.getText()));
jTexArea.append("服务器启动!");
jTexArea.append("\n");
}
public void close()
{
jTexArea.append("服务器关闭!");
JOptionPane.showMessageDialog(frame,"服务器成功关闭,程序退出!");
System.exit(0);
}
public void Con()
{
jTexArea.append("连接开启,客户端可连接状态!");
jButtonCon.setEnabled(false);
//cs.listen();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -