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

📄 set.java

📁 网络通信系统
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Set implements ActionListener{//设置用户名,IP地址和端口
  String port;//端口号
  JDialog dialog;//对话框
  JPanel panel1;
  JPanel panel2;
  JPanel panel3;
  JPanel panel4;
  
  JLabel label1;
  JLabel label2;
  JLabel label3;
  JLabel tip;
  
  JTextField ipaddress;//IP地址文本框
  JTextField portnumber;//端口号文本框
  JTextField username;//用户名文本框
  
  JButton save;//保存
  JButton cancel;//取消
  
  Dimension dialogsize;//对话框的尺寸
  Dimension screensize;//窗口的尺寸
  public Set(JFrame frame){
	dialog = new JDialog(frame,"连接",true);
	Container contentpane = dialog.getContentPane();
	
	panel1 = new JPanel();
	panel1.setLayout(new GridLayout(3,0));
	label1 = new JLabel("I        P:");
	label1.setHorizontalAlignment(SwingConstants.RIGHT);
	label2 = new JLabel("端    口:");
	label2.setHorizontalAlignment(SwingConstants.RIGHT);
	label3 = new JLabel("用户名:");
	label3.setHorizontalAlignment(SwingConstants.RIGHT);
	panel1.add(label1);
	panel1.add(label2);
	panel1.add(label3);
	contentpane.add(panel1,BorderLayout.WEST);
	
	panel2 = new JPanel();
	panel2.setLayout(new GridLayout(3,0));
	ipaddress = new JTextField(ChatClient.ip,15);
	port = String.valueOf(ChatClient.port);
	portnumber = new JTextField(port,15);
	username = new JTextField(ChatClient.username,15);
	panel2.add(ipaddress);
	panel2.add(portnumber);
	panel2.add(username);
	contentpane.add(panel2,BorderLayout.EAST);
	
	panel3 = new JPanel();
	panel3.setLayout(new GridLayout(2,1));
	tip = new JLabel("默认设置");
	panel3.add(tip);
	
	panel4 = new JPanel();
	save = new JButton("保存");
	save.addActionListener(this);
	cancel = new JButton("取消");
	cancel.addActionListener(this);
	panel4.add(save);
	panel4.add(cancel);
	panel3.add(panel4);
	contentpane.add(panel3,BorderLayout.SOUTH);
	
	dialog.pack();
	dialogsize = dialog.getSize();
    screensize = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int)(screensize.width - dialogsize.getWidth())/2;
    int y = (int)(screensize.height - dialogsize.getHeight())/2;
    dialog.setLocation(x,y);
    dialog.setResizable(false);
	dialog.setVisible(true);
  }
  
  public void actionPerformed(ActionEvent e){//事件处理
	Object obj = e.getSource();
	if(obj == save){
	  int saveport,ippoint = 0,ipflag = 1,portflag = 1;
	  String ipstring;
	  ipstring = ipaddress.getText();
	  for(int i = 0;i < ipstring.length();i++){ 
		if(ipstring.charAt(i) != '.'){	
		  int temp = ipstring.charAt(i) - '0';
		  if(temp < 0 || temp > 9){
			ipflag = 0;
			break;
		  }
		}
		else ippoint++;
	  }
	  if(ippoint != 3) ipflag = 0;
	  if(ipflag == 0){//检查输入IP地址格式是否正确
		tip.setText("IP地址格式不正确,请重新输入!"); 
		return;
	  }
	  try{
		saveport = Integer.valueOf(portnumber.getText()).intValue();
		if(saveport < 1024 || saveport > 65535){//检查输入端口是否在范围内
		  tip.setText("端口号必须是1024-65535之间的整数");
		  portflag = 0;
		  return;
		}
	  }
	  catch(Exception a){
		tip.setText("错误的端口号,端口号请填写整数!");
		portflag = 0;
		return;
	  }
	  if(ipflag == 1 && portflag == 1){
		ChatClient.ip = ipaddress.getText();
		ChatClient.port = saveport;
		ChatClient.username = username.getText();
		dialog.dispose();
	  }
	}
	else if(obj == cancel) dialog.dispose();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -