java实现一个窗口
来源:互联网 发布:淘宝海外版app 编辑:程序博客网 时间:2024/05/21 10:30
- 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);
- }
阅读全文
0 0
- java实现一个窗口
- 用JAVA实现一个简单的登陆窗口
- 如何用java图形化界面实现一个登录窗口
- 弹出一个窗口 java
- java实现窗口透明
- CCF 窗口 Java实现
- 一个简单窗口的实现
- java实现一个在窗口显示一个随机生成的号码
- 二、新建一个java窗口
- 自己编写的一个java简单的窗口实现两点求园面积
- Java实现淡入淡出窗口
- Java实现窗口慢慢变大
- 一个类实现窗口分隔条功能.
- 一个类实现窗口分隔条功能.
- 自学QT之实现一个用户信息窗口
- ant-design 实现一个登陆窗口
- ant-design 实现一个登陆窗口
- ant-design 实现一个登陆窗口
- 浅谈我对机器学习的理解
- 测试
- POJ 1905 Expanding Rods 笔记
- Http协议
- 2017.06.06回顾 三种构造dataframe的方法 多重共线性开坑
- java实现一个窗口
- java 异常:无法从套接字获取更多数据
- 大数据时代户外广告可以玩什么?
- 深入Java日记——JVM类加载全过程
- ant使用教程-git篇
- AttributeError: 'module' object has no attribute 'text_format'
- Material Design风格文本输入样式TextInputLayout的使用
- Fragment 跳转到Activity onActivityResult方法不响应
- gb18030编码格式了解和应用