📄 clientmainclass.java
字号:
package main;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import com.chat.client.*;
import com.chat.constants.ClientConstants;
import com.chat.io.TxtManager;
import javax.swing.*;
@SuppressWarnings("serial")
public class ClientMainClass extends JFrame {
private JComboBox cbxPort;
private JComboBox cbxIP;
private JComboBox cbxUserId;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
ClientMainClass frame = new ClientMainClass();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public ClientMainClass() {
super();
setResizable(false);
setTitle("QQ演示版本 登陆");
getContentPane().setLayout(null);
setBounds(100, 100, 331, 215);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel();
label.setIcon(new ImageIcon(getClass().getResource("/images/h.jpg")));
label.setFont(new Font("", Font.PLAIN, 14));
//label.setText("本程序无需注册,请输入帐号直接登陆!(建议使用默认)");
label.setBounds(0, 0, 327, 42);
getContentPane().add(label);
final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(cbxUserId.getItemCount()==0 || cbxIP.getItemCount()==0 ||cbxPort.getItemCount()==0)return;
String userId=cbxUserId.getSelectedItem().toString().trim();
//String ip="10.1.101.46";
String ip=cbxIP.getSelectedItem().toString().trim();
String port=cbxPort.getSelectedItem().toString().trim();
if(userId.equals("")){
javax.swing.JOptionPane.showMessageDialog(null, "请输入帐号!");
return;
}
if(userId.indexOf(ClientConstants.FIRST_ITEM)>=0){
javax.swing.JOptionPane.showMessageDialog(null, "对不起, ["+ClientConstants.FIRST_ITEM+"] 为保留字,您不能用它来做帐号!");
return;
}
if(userId.indexOf(ClientConstants.SERVER_FRAME_ID)>=0){
javax.swing.JOptionPane.showMessageDialog(null, "对不起, ["+ClientConstants.SERVER_FRAME_ID+"] 为保留字,您不能用它来做帐号!");
return;
}
if(userId.length()>8){
javax.swing.JOptionPane.showMessageDialog(null, "对不起, 帐号不能超过8个字符!");
return;
}
if(ip.equals("")){
javax.swing.JOptionPane.showMessageDialog(null,"请输入服务器地址!");
return;
}
if(port.equals("")){
javax.swing.JOptionPane.showMessageDialog(null,"请输入端口号!");
return;
}
if(port.length()!=4){
javax.swing.JOptionPane.showMessageDialog(null,"服务器端口长度必须是四位!");
return;
}
if(!base.util.StringTransform.isDigit(port)){
javax.swing.JOptionPane.showMessageDialog(null,"服务器端口必须是有效数字!");
return;
}
String[] result={userId,ip,port};
dispose();
//ClientFrame.main(result);
MainFramtest.main(result);
}
});
button.setText("登陆(O)");
button.setBounds(150, 155, 77, 25);
getContentPane().add(button);
final JButton btnClose = new JButton();
btnClose.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnClose.setText("退出(E)");
btnClose.setBounds(238, 155, 77, 25);
getContentPane().add(btnClose);
final JLabel label_1 = new JLabel();
label_1.setText("帐 号:");
label_1.setBounds(37, 52, 72, 15);
getContentPane().add(label_1);
cbxUserId = new JComboBox();
cbxUserId.setEditable(true);
cbxUserId.setBounds(115, 48, 152, 23);
List<String> list=TxtManager.getUserId();
for(String userId:list){
cbxUserId.addItem(userId);
}
getContentPane().add(cbxUserId);
final JButton btnRemove = new JButton();
btnRemove.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(cbxUserId.getItemCount()==0)return;
String seleceteItem=cbxUserId.getSelectedItem().toString();
TxtManager.removeUserId(seleceteItem);
cbxUserId.removeItem(seleceteItem);
}
});
btnRemove.setText("清除帐号");
btnRemove.setBounds(8, 155, 101, 25);
getContentPane().add(btnRemove);
cbxIP = new JComboBox();
cbxIP.setBounds(115, 77, 152, 23);
cbxIP.addItem("127.0.0.1");
cbxIP.addItem("0.0.0.0");
cbxIP.setEditable(true);
getContentPane().add(cbxIP);
cbxPort = new JComboBox();
cbxPort.setBounds(115, 106, 152, 23);
cbxPort.addItem("8888");
cbxPort.addItem("9000");
cbxPort.setEditable(true);
getContentPane().add(cbxPort);
final JLabel label_2 = new JLabel();
label_2.setText("服务器地址:");
label_2.setBounds(37, 81, 72, 15);
getContentPane().add(label_2);
final JLabel label_3 = new JLabel();
label_3.setText("服务器端口:");
label_3.setBounds(37, 110, 72, 15);
getContentPane().add(label_3);
//
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -