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

📄 registerdialog.java

📁 网络聊天程序
💻 JAVA
字号:
package Java.ICQ;
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;

public class RegisterDialog extends JFrame
{
  //以下创建程序界面
  JPanel panel1;
  JLabel jLabel1 = new JLabel();
  JTextField nickname = new JTextField();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JPasswordField password = new JPasswordField();
  JLabel jLabel4 = new JLabel();
  JTextField email = new JTextField();
  JLabel jLabel5 = new JLabel();
  JLabel jLabel6 = new JLabel();
  JTextPane info = new JTextPane();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JLabel jLabel7 = new JLabel();
  JRadioButton boy = new JRadioButton();
  JRadioButton girl = new JRadioButton();
  JLabel jLabel8 = new JLabel();
  JComboBox place = new JComboBox();
  JComboBox headpic = new JComboBox();
  ButtonGroup btGroup=new ButtonGroup();
  JScrollPane scrollpane=new JScrollPane();
  String sername;//服务器名
  int serverport;//服务器端口
  String number;
  private String[] pics = new String[]{//头像
		"01.gif", "02.gif",
		"03.gif", "04.gif"};
  public RegisterDialog(String sername,int port)
  {
  	this.sername=sername;
  	serverport=port;
  	initRegisterDailog();
  }
 
  public void initRegisterDailog()
  {
  	  initFrame();
      initUI();
      addFrame();
      addListener();
  }
   //设置窗体信息
  public void initFrame()
  {
  	
    panel1 =(JPanel)this.getContentPane();
    panel1.setLayout(null);
    this.setTitle("注册");
    this.setBounds(new Rectangle(300,300,400,400));
  	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
  }
  //初始化UI界面
  public void initUI()
  {
 	
    jLabel2.setText("请填写以下内容");
    jLabel2.setBounds(new Rectangle(9, 9, 103, 18));
    
    jLabel1.setText("昵称");
    jLabel1.setBounds(new Rectangle(2, 45, 41, 18));
    nickname.setBounds(new Rectangle(50, 44, 128, 22));

    jLabel3.setText("密码");
    jLabel3.setBounds(new Rectangle(200, 44, 41, 18));
    password.setBounds(new Rectangle(247, 42, 100, 22));
    
    jLabel4.setText("电子邮件");
    jLabel4.setBounds(new Rectangle(2, 102, 58, 18));
    email.setBounds(new Rectangle(50, 96, 128, 22));
    
    jLabel5.setText("头像");
    jLabel5.setBounds(new Rectangle(200, 96, 51, 18));
    headpic.setBounds(new Rectangle(247, 91, 71, 28));
   	for(int i=0;i < pics.length;i++)
	{
		headpic.addItem(getImage("images\\"+pics[i]));
    }
    
    jLabel7.setText("性别");
    jLabel7.setBounds(new Rectangle(9, 154, 41, 18));
    
    boy.setText("男");
    boy.setBounds(new Rectangle(43, 150, 38, 26));
    boy.setSelected(true);

    girl.setText("女");
    girl.setBounds(new Rectangle(80, 150, 46, 26));
	girl.setSelected(false);
	
    jLabel8.setText("来自");
    jLabel8.setBounds(new Rectangle(147, 154, 41, 18));

    place.setBounds(new Rectangle(181, 154, 163, 22));
    String address[]={"四川","重庆","山东","湖南","北京"};
    for(int i=0;i<address.length;i++)
    {
    	place.addItem(address[i]);
    }
    jLabel6.setText("个人资料");
    jLabel6.setBounds(new Rectangle(6, 189, 87, 18));
     scrollpane.setBounds(new Rectangle(5, 208, 363, 103));
    
    jButton1.setText("确定");
    jButton1.setBounds(new Rectangle(147, 330, 79, 29));
    
    jButton2.setText("取消");
    jButton2.setBounds(new Rectangle(260, 329, 79, 29));
    
  }
  //添加组件到窗体上
  public void addFrame()
  {
  	panel1.add(jButton1, null);
    panel1.add(jLabel2, null);
    panel1.add(jLabel1, null);
    panel1.add(nickname, null);
    panel1.add(jLabel3, null);
    panel1.add(password, null);
    panel1.add(jLabel4, null);
    panel1.add(email, null);
    panel1.add(jLabel5, null);
    panel1.add(jButton2, null);
    panel1.add(jLabel6, null);
    panel1.add(jLabel7, null);
    panel1.add(boy, null);
    panel1.add(jLabel8, null);
    panel1.add(girl, null);
    panel1.add(place, null);
    panel1.add(headpic, null);
    
    btGroup.add(boy);
    btGroup.add(girl);
    
    scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scrollpane.getViewport().add(info,null);
    
  	panel1.add(scrollpane, null);
  	this.setVisible(true);
  }
  //为每个按钮添加事件监听
  public void addListener()
  {
  	 jButton1.addActionListener(new ActionListener() 
  	 {
  	 	public void actionPerformed(ActionEvent e) 
  	 	{
  	 		jButton1_actionPerformed();
        }
     });
     jButton2.addActionListener(new ActionListener() 
  	 {
  	 	public void actionPerformed(ActionEvent e) 
  	 	{
  	 		jButton2_actionPerformed();
        }
     });
  }
  //获取头像
  public ImageIcon getImage(String imagePath) 
  {
     ImageIcon   image = new ImageIcon(imagePath);
     return image;
  }
  //确定按钮事件处理
  public void jButton1_actionPerformed() 
  {
  	PrintWriter out=null;
  	BufferedReader in=null;
  	try
  	{
  		System.out.println(serverport);
  		System.out.println(sername);
  		Socket socket=new Socket(sername,serverport);//连接服务器

        in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
  	}
  	catch(IOException  e)
  	{
  		System.out.println("连接服务器失败");
  	    JOptionPane.showMessageDialog(this,"连接服务器失败!","消息对话框",JOptionPane.INFORMATION_MESSAGE);
  	}
  	  
      out.println("new");//发送新建用户请求
      out.println(nickname.getText().trim());//发送呢称等信息
      out.println(password.getPassword());
      out.println(email.getText().trim());
      if(boy.isSelected())
        out.println("男");
      if(girl.isSelected())
         out.println("女");
      out.println(info.getText().trim());
      out.println(place.getSelectedItem());
      out.println(headpic.getSelectedIndex());//head picindex
      String str=" ";
      try
      {
        
         str=in.readLine().trim();//从服务器读取信息
      }
      catch(IOException e)
      {
      	System.out.println("从服务器读取错误");
      }
      
      System.out.println(str);
      number = str.substring(0,str.indexOf("r")); 
      System.out.println(number);
      if(str.endsWith("registerSucceed"))
      {
  	          JOptionPane.showMessageDialog(this,"注册成功!","消息对话框",JOptionPane.INFORMATION_MESSAGE);
  	          JOptionPane.showMessageDialog(this,"您的OICQ号码为:"+number,"消息对话框",JOptionPane.INFORMATION_MESSAGE);

  	         //如果成功就告诉用户其号码
              this.dispose();//并打开主窗口
               LoginFrame frame= new LoginFrame();
               frame.setVisible(true);
      }
      if(str.equals("registerError"))
      {
  	         JOptionPane.showMessageDialog(this,"注册失败!","消息对话框",JOptionPane.INFORMATION_MESSAGE);
      }
      //如果出错
 
  }
  //取消按钮事件处理
  public void jButton2_actionPerformed()
  {
  	System.exit(0);
  }
 
}

⌨️ 快捷键说明

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