-
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.GridLayout;
- 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.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.BindException;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.ArrayList;
- import java.util.StringTokenizer;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JSplitPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.border.TitledBorder;
- public class Server {
- private JFrame frame;
- private JTextArea contentArea;
- private JTextField txt_message;
- private JTextField txt_max;
- private JTextField txt_port;
- private JButton btn_start;
- private JButton btn_stop;
- private JButton btn_send;
- private JPanel northPanel;
- private JPanel southPanel;
- private JScrollPane rightPanel;
- private JScrollPane leftPanel;
- private JSplitPane centerSplit;
- private JList userList;
- private DefaultListModel listModel;
- private ServerSocket serverSocket;
- private ServerThread serverThread;
- private ArrayList<ClientThread> clients;
- private boolean isStart = false;
- // 主方法,程序执行入口
- public static void main(String[] args) {
- new Server();
- }
- public Server() {
- frame = new JFrame("服务器");
- // 更改JFrame的图标:
- //frame.setIconImage(Toolkit.getDefaultToolkit().createImage(Client.class.getResource("qq.png")));
- frame.setIconImage(Toolkit.getDefaultToolkit().createImage(Server.class.getResource("qq.png")));
- contentArea = new JTextArea();
- contentArea.setEditable(false);
- contentArea.setForeground(Color.blue);
- txt_message = new JTextField();
- txt_max = new JTextField("30");
- txt_port = new JTextField("6666");
- btn_start = new JButton("启动");
- btn_stop = new JButton("停止");
- btn_send = new JButton("发送");
- btn_stop.setEnabled(false);
- listModel = new DefaultListModel();
- userList = new JList(listModel);
- southPanel = new JPanel(new BorderLayout());
- southPanel.setBorder(new TitledBorder("写消息"));
- southPanel.add(txt_message, "Center");
- southPanel.add(btn_send, "East");
- leftPanel = new JScrollPane(userList);
- leftPanel.setBorder(new TitledBorder("在线用户"));
- rightPanel = new JScrollPane(contentArea);
- rightPanel.setBorder(new TitledBorder("消息显示区"));
- centerSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel,
- rightPanel);
- centerSplit.setDividerLocation(100);
- northPanel = new JPanel();
- northPanel.setLayout(new GridLayout(1, 6));
- northPanel.add(new JLabel("人数上限"));
- northPanel.add(txt_max);
- northPanel.add(new JLabel("端口"));
- northPanel.add(txt_port);
- northPanel.add(btn_start);
- northPanel.add(btn_stop);
- northPanel.setBorder(new TitledBorder("配置信息"));
- frame.setLayout(new BorderLayout());
- frame.add(northPanel, "North");
- frame.add(centerSplit, "Center");
- frame.add(southPanel, "South");
- frame.setSize(600, 400);
- //frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());//设置全屏
- int screen_width = Toolkit.getDefaultToolkit().getScreenSize().width;
- int screen_height = Toolkit.getDefaultToolkit().getScreenSize().height;
- frame.setLocation((screen_width - frame.getWidth()) / 2,
- (screen_height - frame.getHeight()) / 2);
- frame.setVisible(true);
- }
java实现一个窗口
猜你喜欢
转载自blog.csdn.net/code_dreamers/article/details/72896514
今日推荐
周排行