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

📄 register.java~38~

📁 本系统充分利用了Java语言的平台无关性等众多优点
💻 JAVA~38~
字号:
package cilent;

/**
 * <p>Title: MyQQ</p>
 * <p>Description: MyQQ</p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company:  南昌大学软件学院 04级网通1班</p>
 * @author 张利彬
 * @version 1.0
 */
import wodqq.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;

public class Register
    extends JDialog { //新建用户类
//以下创建程序界面
  JPanel panel1 = new JPanel();
  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();
  ImageIcon img1 = new ImageIcon("src/img/qd.png");
  ImageIcon img2 = new ImageIcon("src/img/quit.png");
  BackGroundButton jButton1 = new BackGroundButton(img1);
  BackGroundButton jButton2 = new BackGroundButton(img2);
  JLabel jLabel7 = new JLabel();
  JRadioButton boy = new JRadioButton();
  JRadioButton girl = new JRadioButton();
  JLabel jLabel8 = new JLabel();
  JComboBox place = new JComboBox();
  JComboBox headpic = new JComboBox();
//***************************


  private String[] pics = new String[] {//头像
    "1.jpg", "3.jpg",
  "5.jpg", "7.jpg"};
  String sername; //服务器名
  int serverport; //服务器端口
  Border border1;
  Border border2;
  Border border3;
  Border border4;
  Border border5;
  JPanel jPanel1 = new JPanel();

  public Register(String s, int port) { //构造函数
    sername = s;
    serverport = port;
    try {
      jbInit(); //创建窗口
      pack();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    //this(null, "", true);
  }

  void jbInit() throws Exception { //创建窗口


      border1 = BorderFactory.createLineBorder(Color.white, 1);
      border2 = BorderFactory.createLineBorder(SystemColor.inactiveCaptionText,
                                               1);
      border3 = BorderFactory.createLineBorder(Color.white, 1);
      border4 = BorderFactory.createLineBorder(Color.white, 1);
      border5 = BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1);
      panel1.setLayout(null);
      this.getContentPane().setLayout(null);
      panel1.setBackground(new Color(156, 225, 255));
    panel1.setFont(new java.awt.Font("Dialog", 0, 11));
    panel1.setBorder(border1);
      panel1.setMaximumSize(new Dimension(200, 200));
      panel1.setMinimumSize(new Dimension(200, 100));
      panel1.setBounds(new Rectangle(13, 8, 209, 277));
      this.getContentPane().setBackground(new Color(156, 225, 255));
    this.setResizable(true);
      this.setTitle("新用户注册");
      jLabel1.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel1.setText("昵称");
      jLabel1.setBounds(new Rectangle(9, 45, 41, 18));
      nickname.setBorder(border2);
      nickname.setBounds(new Rectangle(50, 44, 128, 22));
      jLabel2.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel2.setText("请填写以下内容");
      jLabel2.setBounds(new Rectangle(9, 9, 103, 18));
      jLabel3.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel3.setForeground(Color.black);
      jLabel3.setText("密码");
      jLabel3.setBounds(new Rectangle(12, 104, 41, 18));
      password.setBorder(border2);
      password.setBounds(new Rectangle(51, 101, 126, 22));
      jLabel4.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel4.setText("电子邮件");
    jLabel4.setBounds(new Rectangle(37, 39, 48, 19));
      email.setBorder(border2);
      email.setBounds(new Rectangle(97, 36, 124, 22));
      jLabel5.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel5.setText("头像");
      jLabel5.setBounds(new Rectangle(42, 84, 51, 18));
      //***************
      ComboBoxModel model = new HeadPicCombobox(pics);

      ListCellRenderer renderer = new HeadpicCellRenderer();

      jLabel6.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel6.setText("个人资料");
      jLabel6.setBounds(new Rectangle(38, 132, 87, 18));
      info.setBounds(new Rectangle(33, 160, 234, 103));
      jButton1.setText("确定");
      jButton1.addActionListener(new Register_jButton1_actionAdapter(this));
      jButton1.setBounds(new Rectangle(158, 311, 78, 21));
      jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
          jButton1_mouseClicked(e);
        }
      });
      jButton2.setText("取消");
      jButton2.setBounds(new Rectangle(248, 310, 69, 22));
      jLabel7.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel7.setText("性别");
      jLabel7.setBounds(new Rectangle(10, 140, 41, 18));
      boy.setBackground(new Color(156, 225, 255));
      boy.setFont(new java.awt.Font("DialogInput", 0, 12));
      boy.setText("男");
      boy.setBounds(new Rectangle(51, 138, 46, 26));
      girl.setBackground(new Color(156, 225, 255));
      girl.setFont(new java.awt.Font("DialogInput", 0, 12));
      girl.setText("女");
      girl.setBounds(new Rectangle(114, 137, 46, 26));
      jLabel8.setFont(new java.awt.Font("DialogInput", 0, 12));
      jLabel8.setText("来自");
      jLabel8.setBounds(new Rectangle(4, 181, 41, 18));
      place.setBackground(Color.white);
      place.setFont(new java.awt.Font("DialogInput", 0, 12));
      place.setAutoscrolls(false);
      place.setBorder(border2);
      place.setDebugGraphicsOptions(0);
      place.setDoubleBuffered(false);
      place.setMinimumSize(new Dimension(25, 20));
      place.setToolTipText("");
      place.setInputVerifier(null);
      place.setEditable(false);
      place.setLightWeightPopupEnabled(true);
      place.setMaximumRowCount(8);
      place.addItem("北京");
      place.addItem("河北");
      place.addItem("黑龙江");
      place.addItem("吉林");
      place.addItem("辽宁");
      place.addItem("山东");
      place.addItem("山西");
      place.addItem("陕西");
      place.addItem("宁夏");
      place.addItem("甘肃");
      place.addItem("新疆");
      place.addItem("西藏");
      place.addItem("云南");
      place.addItem("广西");
      place.addItem("广东");
      place.addItem("福建");
      place.addItem("贵州");
      place.addItem("江西");
      place.addItem("浙江");
      place.addItem("江苏");
      place.addItem("四川");
      place.addItem("重庆");
      place.addItem("上海");
      place.addItem("重庆");
      place.addItem("湖南");
      place.addItem("湖北");
      place.addItem("河南");
      place.addItem("安徽");
      place.addItem("天津");
      place.addItem("内蒙古");
      place.addItem("海南");
      place.addItem("香港");
      place.addItem("澳门");
      place.setBounds(new Rectangle(38, 183, 163, 22));
      headpic.setBounds(new Rectangle(108, 79, 71, 28));
      headpic.setBackground(UIManager.getColor("Button.light"));
      headpic.setAlignmentX( (float) 0.5);
      headpic.setAlignmentY( (float) 0.5);
      headpic.setAutoscrolls(false);
      headpic.setBorder(border2);
      headpic.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
      headpic.setDoubleBuffered(false);
      headpic.setActionCommand("comboBoxChanged");
      headpic.setModel(model);
      headpic.setRenderer(renderer);
      jPanel1.setBackground(new Color(156, 225, 255));
    jPanel1.setBorder(border4);
    jPanel1.setBounds(new Rectangle(229, 9, 283, 274));
    jPanel1.setLayout(null);
    panel1.add(jLabel2, null);
      panel1.add(jLabel1, null);
      panel1.add(nickname, null);
    panel1.add(jLabel8, null);
    panel1.add(place, null);
    panel1.add(password, null);
    panel1.add(jLabel3, null);
    panel1.add(jLabel7, null);
    panel1.add(boy, null);
    panel1.add(girl, null);
    this.getContentPane().add(jPanel1, null);
    jPanel1.add(email, null);
    jPanel1.add(jLabel4, null);
    jPanel1.add(headpic, null);
    jPanel1.add(jLabel5, null);
    jPanel1.add(jLabel6, null);
    jPanel1.add(info, null);
    this.getContentPane().add(jButton1, null);
    this.getContentPane().add(jButton2, null);
    this.getContentPane().add(panel1, null);
    }

    void jButton1_mouseClicked(MouseEvent e) {
        try {
      System.out.println(sername);
      System.out.println(serverport);
      Socket socket = new Socket(InetAddress.getByName(sername), serverport); //连接服务器

      BufferedReader in = new BufferedReader(new InputStreamReader(socket.
          getInputStream()));
      PrintWriter out = new PrintWriter(new BufferedWriter(
          new OutputStreamWriter(socket.getOutputStream())), true);
      out.println("new"); //发送新建用户请求
      out.println(nickname.getText().trim()); //发送呢称等信息
      out.println(password.getPassword());
      out.println(email.getText().trim());
      out.println(info.getText().trim());
      out.println(place.getSelectedItem());
      out.println(headpic.getSelectedIndex()); //head picindex
      int no;
      System.out.print("aaaaa");
      no = Integer.parseInt(in.readLine());
      System.out.print("bb");
      System.out.print(no);

      String str = " ";
      //do{
      str = in.readLine().trim(); //从服务器读取信息
      //如果出错
      if (str.equals("false"))
        JOptionPane.showMessageDialog(this, "对不起,出错了", "ok",
                                      JOptionPane.INFORMATION_MESSAGE);
      else { //如果成功就告诉用户其号码
        JOptionPane.showMessageDialog(this, "your QQ NO. is  " +  no, "ok",
                                      JOptionPane.INFORMATION_MESSAGE);

        this.dispose(); //并打开主窗口
         MainWin f2=new MainWin(no,sername,serverport);
        //f2.setVisible(true);
      }
      //System.out.println("\n");
      //}while(!str.equals("ok"));
      // socket.close();
    }
    catch (IOException e1) {}

    }

        void jButton1_actionPerformed(ActionEvent e) {  };


  }

  class HeadPicCombobox
      extends DefaultComboBoxModel { //头象列表类
    public HeadPicCombobox(String[] pics) {
      for (int i = 0; i < pics.length; ++i) {

        addElement(new Object[] {new ImageIcon(pics[i])});
      }
    }

    public Icon getIcon(Object object) {
      Object[] array = (Object[]) object;
      return (Icon) array[0];
    }
  }

  class HeadpicCellRenderer
      extends JLabel
      implements ListCellRenderer {
    private Border
        lineBorder = BorderFactory.createLineBorder(Color.red, 2),
        emptyBorder = BorderFactory.createEmptyBorder(2, 2, 2, 2);

    public HeadpicCellRenderer() {
      setOpaque(true);
    }

    public Component getListCellRendererComponent(JList list, Object value,
                                                  int index, boolean isSelected,
                                                  boolean cellHasFocus) {
      HeadPicCombobox model = (HeadPicCombobox) list.getModel();

      setIcon(model.getIcon(value));

      if (isSelected) {
        setForeground(list.getSelectionForeground());
        setBackground(list.getSelectionBackground());
      }
      else {
        setForeground(list.getForeground());
        setBackground(list.getBackground());
      }

      if (cellHasFocus)
        setBorder(lineBorder);
      else
        setBorder(emptyBorder);

      return this;
    }
  }

  class Register_jButton1_actionAdapter
      implements java.awt.event.ActionListener {
    Register adaptee;

    Register_jButton1_actionAdapter(Register adaptee) {
      this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
      adaptee.jButton1_actionPerformed(e);
    }
  }

⌨️ 快捷键说明

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