package four;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import lombok.Data;
/**
* 投票的服务器
*
* @author czx
*
*/
@Data
public class VoteServer {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VoteServer window = new VoteServer();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public VoteServer() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 488, 390);
frame.setTitle("");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.NORTH);
JLabel lblNewLabel = new JLabel("\u670D\u52A1\u5668\u4FE1\u606F");
lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel.add(lblNewLabel);
textField = new JTextField();
textField.setText("127.0.0.1");
panel.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setText("10086");
panel.add(textField_1);
textField_1.setColumns(5);
JButton btnNewButton = new JButton("\u5F00\u542F");
btnNewButton.setFont(new Font("微软雅黑", Font.PLAIN, 12));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
btnNewButton.setEnabled(false); // 禁用按钮,避免重复启动
String hostName = textField.getText();// 主机名
int hostPort = Integer.parseInt(textField_1.getText());// 端口
// 构建服务器的SocketAddress格式地址
SocketAddress serverAddr = new InetSocketAddress(InetAddress.getByName(hostName), hostPort);
listenSocket = new ServerSocket(); // 创建侦听套接字
listenSocket.bind(serverAddr); // 绑定到工作地址
} catch (IOException ex) {
}
// 创建一个匿名线程,用于侦听和接受客户机连接,并创建响应客户机的会话线程
new Thread(new Runnable() {
@Override
public void run() {
try {
while (true) { // 处理客户机连接
toClientSocket = listenSocket.accept();// 侦听并接受客户机连接
clientCounts++;// 客户机数量加1
// 创建客户线程clientThread,实现一客户一线程
Thread VoteThread = new VoteThread(toClientSocket, clientCounts);
VoteThread.start(); // 启动任务线程
} // end while
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "错误提示", JOptionPane.ERROR_MESSAGE);
}
}// end run()
}).start();
}
});
panel.add(btnNewButton);
JPanel panel_1 = new JPanel();
frame.getContentPane().add(panel_1, BorderLayout.CENTER);
panel_1.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "信息框", TitledBorder.LEADING,
TitledBorder.TOP, null, new Color(59, 59, 59)));
panel_1.setLayout(new GridLayout(0, 1, 0, 0));
JPanel panel_2 = new JPanel();
panel_1.add(panel_2);
JLabel lblNewLabel_1 = new JLabel("\u4E00\u53F7\u5019\u9009\u4EBA\uFF1A");
lblNewLabel_1.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_2.add(lblNewLabel_1);
textField_2 = new JTextField();
panel_2.add(textField_2);
textField_2.setColumns(10);
JButton btnNewButton_1 = new JButton("\u786E\u8BA4");
btnNewButton_1.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_2.add(btnNewButton_1);
JPanel panel_3 = new JPanel();
panel_1.add(panel_3);
JLabel lblNewLabel_2 = new JLabel("\u4E8C\u53F7\u5019\u9009\u4EBA\uFF1A");
lblNewLabel_2.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_3.add(lblNewLabel_2);
textField_3 = new JTextField();
panel_3.add(textField_3);
textField_3.setColumns(10);
JButton btnNewButton_2 = new JButton("\u786E\u8BA4");
btnNewButton_2.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_3.add(btnNewButton_2);
JPanel panel_4 = new JPanel();
panel_1.add(panel_4);
JLabel lblNewLabel_3 = new JLabel("\u4E09\u53F7\u5019\u9009\u4EBA\uFF1A");
lblNewLabel_3.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_4.add(lblNewLabel_3);
textField_4 = new JTextField();
panel_4.add(textField_4);
textField_4.setColumns(10);
JButton btnNewButton_3 = new JButton("\u786E\u8BA4");
panel_4.add(btnNewButton_3);
btnNewButton_3.setFont(new Font("微软雅黑", Font.PLAIN, 12));
JPanel panel_5 = new JPanel();
panel_1.add(panel_5);
JLabel lblNewLabel_4 = new JLabel("\u56DB\u53F7\u5019\u9009\u4EBA\uFF1A");
lblNewLabel_4.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_5.add(lblNewLabel_4);
textField_5 = new JTextField();
panel_5.add(textField_5);
textField_5.setColumns(10);
JButton btnNewButton_4 = new JButton("\u786E\u8BA4");
panel_5.add(btnNewButton_4);
btnNewButton_4.setFont(new Font("微软雅黑", Font.PLAIN, 12));
JPanel panel_6 = new JPanel();
panel_1.add(panel_6);
JLabel lblNewLabel_5 = new JLabel("\u4E94\u53F7\u5019\u9009\u4EBA\uFF1A");
lblNewLabel_5.setFont(new Font("微软雅黑", Font.PLAIN, 12));
panel_6.add(lblNewLabel_5);
textField_6 = new JTextField();
panel_6.add(textField_6);
textField_6.setColumns(10);
JButton btnNewButton_5 = new JButton("\u786E\u8BA4");
panel_6.add(btnNewButton_5);
btnNewButton_5.setFont(new Font("微软雅黑", Font.PLAIN, 12));
JPanel panel_7 = new JPanel();
panel_7.setBackground(Color.WHITE);
panel_7.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "候选人信息", TitledBorder.LEADING,
TitledBorder.TOP, null, new Color(59, 59, 59)));
frame.getContentPane().add(panel_7, BorderLayout.EAST);
GridBagLayout gbl_panel_7 = new GridBagLayout();
gbl_panel_7.columnWidths = new int[] { 0, 0, 0, 0 };
gbl_panel_7.rowHeights = new int[] { 0, 0, 0, 0, 0, 0, 0, 0 };
gbl_panel_7.columnWeights = new double[] { 0.0, 1.0, 1.0, Double.MIN_VALUE };
gbl_panel_7.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE };
panel_7.setLayout(gbl_panel_7);
JLabel lblNewLabel_6 = new JLabel("Null");
lblNewLabel_6.setVerticalAlignment(SwingConstants.BOTTOM);
GridBagConstraints gbc_lblNewLabel_6 = new GridBagConstraints();
gbc_lblNewLabel_6.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_6.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_6.gridx = 0;
gbc_lblNewLabel_6.gridy = 0;
panel_7.add(lblNewLabel_6, gbc_lblNewLabel_6);
textField_7 = new JTextField();
// textField_7.setEditable(false);
GridBagConstraints gbc_textField_7 = new GridBagConstraints();
gbc_textField_7.insets = new Insets(0, 0, 5, 5);
gbc_textField_7.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_7.gridx = 1;
gbc_textField_7.gridy = 0;
panel_7.add(textField_7, gbc_textField_7);
textField_7.setColumns(10);
JLabel lblNewLabel_7 = new JLabel("Null");
GridBagConstraints gbc_lblNewLabel_7 = new GridBagConstraints();
gbc_lblNewLabel_7.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_7.gridx = 0;
gbc_lblNewLabel_7.gridy = 1;
panel_7.add(lblNewLabel_7, gbc_lblNewLabel_7);
textField_8 = new JTextField();
// textField_8.setEditable(false);
GridBagConstraints gbc_textField_8 = new GridBagConstraints();
gbc_textField_8.insets = new Insets(0, 0, 5, 5);
gbc_textField_8.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_8.gridx = 1;
gbc_textField_8.gridy = 1;
panel_7.add(textField_8, gbc_textField_8);
textField_8.setColumns(10);
JLabel lblNewLabel_8 = new JLabel("Null");
GridBagConstraints gbc_lblNewLabel_8 = new GridBagConstraints();
gbc_lblNewLabel_8.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_8.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_8.gridx = 0;
gbc_lblNewLabel_8.gridy = 2;
panel_7.add(lblNewLabel_8, gbc_lblNewLabel_8);
textField_9 = new JTextField();
// textField_9.setEditable(false);
GridBagConstraints gbc_textField_9 = new GridBagConstraints();
gbc_textField_9.insets = new Insets(0, 0, 5, 5);
gbc_textField_9.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_9.gridx = 1;
gbc_textField_9.gridy = 2;
panel_7.add(textField_9, gbc_textField_9);
textField_9.setColumns(10);
JLabel lblNewLabel_9 = new JLabel("Null");
GridBagConstraints gbc_lblNewLabel_9 = new GridBagConstraints();
gbc_lblNewLabel_9.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_9.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_9.gridx = 0;
gbc_lblNewLabel_9.gridy = 3;
panel_7.add(lblNewLabel_9, gbc_lblNewLabel_9);
textField_10 = new JTextField();
// textField_10.setEditable(false);
GridBagConstraints gbc_textField_10 = new GridBagConstraints();
gbc_textField_10.insets = new Insets(0, 0, 5, 5);
gbc_textField_10.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_10.gridx = 1;
gbc_textField_10.gridy = 3;
panel_7.add(textField_10, gbc_textField_10);
textField_10.setColumns(10);
JLabel lblNewLabel_10 = new JLabel("Null");
GridBagConstraints gbc_lblNewLabel_10 = new GridBagConstraints();
gbc_lblNewLabel_10.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_10.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_10.gridx = 0;
gbc_lblNewLabel_10.gridy = 4;
panel_7.add(lblNewLabel_10, gbc_lblNewLabel_10);
textField_11 = new JTextField();
// textField_11.setEditable(false);
GridBagConstraints gbc_textField_11 = new GridBagConstraints();
gbc_textField_11.insets = new Insets(0, 0, 5, 5);
gbc_textField_11.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_11.gridx = 1;
gbc_textField_11.gridy = 4;
panel_7.add(textField_11, gbc_textField_11);
textField_11.setColumns(10);
JButton btnNewButton_6 = new JButton("\u53D1\u9001\u5019\u9009\u4EBA\u4FE1\u606F");
btnNewButton_6.setFont(new Font("微软雅黑", Font.PLAIN, 12));
GridBagConstraints gbc_btnNewButton_6 = new GridBagConstraints();
gbc_btnNewButton_6.insets = new Insets(0, 0, 0, 5);
gbc_btnNewButton_6.gridx = 1;
gbc_btnNewButton_6.gridy = 6;
panel_7.add(btnNewButton_6, gbc_btnNewButton_6);
// 各个按钮的事件监听
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
str1 = textField_2.getText();
lblNewLabel_6.setText(str1);
btnNewButton_1.setEnabled(false);
}
});
btnNewButton_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
str2 = textField_3.getText();
lblNewLabel_7.setText(str2);
btnNewButton_2.setEnabled(false);
}
});
btnNewButton_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
str3 = textField_4.getText();
lblNewLabel_8.setText(str3);
btnNewButton_3.setEnabled(false);
}
});
btnNewButton_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
str4 = textField_5.getText();
lblNewLabel_9.setText(str4);
btnNewButton_4.setEnabled(false);
}
});
btnNewButton_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
str5 = textField_6.getText();
lblNewLabel_10.setText(str5);
btnNewButton_5.setEnabled(false);
}
});
// 其实还没想好这个要干嘛用
btnNewButton_6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private ServerSocket listenSocket = null; // 侦听套接字
private Socket toClientSocket = null; // 与客户机对话的套接字
public static int clientCounts = 0; // 客户数量编号
PrintWriter pw;
BufferedReader in;
String host;
int port;
String cm;
static JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
public static String str1;
public static String str2;
public static String str3;
public static String str4;
public static String str5;
public static String str6;
public static JTextField textField_7;
public static JTextField textField_8;
public static JTextField textField_9;
public static JTextField textField_10;
public static JTextField textField_11;
static JLabel lblNewLabel_6;
}
最近下载更多
求学的熊猫 LV11
2023年12月26日
微信网友_5973767083364352 LV1
2022年5月25日
微信网友_5927360927125504 LV1
2022年4月22日
543666826 LV34
2022年3月12日
William2342 LV1
2022年2月8日
lllayc LV1
2022年1月3日
Thynpa LV1
2021年12月23日
1095402829 LV18
2021年12月15日
Derrick LV1
2021年12月15日
Undead LV2
2021年12月14日

最近浏览