⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientmainclass.java

📁 简单的QQ聊天。。服务器端可监视客户端上下线情况
💻 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 + -