📄 register.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;
import java.lang.String;
import java.awt.image.*;
import java.applet.*;
public class Register extends JDialog {//新建用户类
//以下创建程序界面
JPanel panel1 = new JPanel();
JLabel jLabel2=new JLabel();
JTextField nickname = new JTextField();
JLabel jLabel3=new JLabel();
JComboBox sex = new JComboBox();
JLabel jLabel4=new JLabel();
JComboBox headpic = new JComboBox();
JLabel jLabel5 = new JLabel();
JPasswordField password = new JPasswordField();
JLabel jLabel6=new JLabel();
JPasswordField checkpassword=new JPasswordField();
JLabel jLabel7 = new JLabel();
JTextField email = new JTextField();
JLabel jLabel8 = new JLabel();
JComboBox province=new JComboBox();
JLabel jLabel9 = new JLabel();
JTextField city=new JTextField();
JLabel jLabel10=new JLabel();
JTextPane info = new JTextPane();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel1=new JLabel();
private String[] pics = new String[] { //头像
"1.jpg", "3.jpg", "5.jpg", "7.jpg" };
String sername;//服务器名
int serverport;//服务器端口
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 {//创建窗口
Font f=new Font("宋体",Font.PLAIN,12);
panel1.setLayout(null);
panel1.setBackground(new Color(101,185,243));//设置面板的背景色
this.getContentPane().setLayout(null);
this.setSize(new Dimension(420, 475));
panel1.setBounds(new Rectangle(-2, 0, 419, 472));//设置面板大小
this.setTitle("基本资料");
jLabel1.setText("个人信息");
jLabel1.setFont(f);
jLabel1.setBounds(new Rectangle(2, 9, 53,20 ));
jLabel2.setText("昵称");
jLabel2.setFont(f);
jLabel2.setBounds(new Rectangle(2,45,53,20));
nickname.setBounds(new Rectangle(55, 45, 120, 20));
jLabel3.setText("性别");
jLabel3.setFont(f);
jLabel3.setBounds(new Rectangle(195,45,26,20));
sex.setBounds(new Rectangle(221,45,60,22));
sex.setBackground(new Color(101,185,243));
sex.setToolTipText("");
sex.addItem("");
sex.addItem("男");
sex.addItem("女");
jLabel4.setText("头像");
jLabel4.setFont(f);
jLabel4.setBounds(new Rectangle(292,45,26,20));
ComboBoxModel model = new HeadPicCombobox(pics);
ListCellRenderer renderer = new HeadpicCellRenderer();
headpic.setBounds(new Rectangle(318,25,50,42));
headpic.setBackground(new Color(101,185,243));
headpic.setBounds(new Rectangle(318,25,50,42));
jLabel5.setText("密码");
jLabel5.setFont(f);
jLabel5.setBounds(new Rectangle(2,95,53,20));
password.setBounds(new Rectangle(55, 95, 120, 22));
jLabel6.setText("校验密码");
jLabel6.setFont(f);
jLabel6.setBounds(new Rectangle(195,95,53,20));
checkpassword.setBounds(new Rectangle(248,95,120,20));
;
jLabel7.setText("电子邮件");
jLabel7.setFont(f);
jLabel7.setBounds(new Rectangle(2, 150, 53, 20));
email.setBounds(new Rectangle(55, 150, 120, 20));
jLabel8.setText("省份");
jLabel8.setFont(f);
jLabel8.setBounds(new Rectangle(195,150,26,20));
province.setBounds(new Rectangle(221,150,60,22));
province.setBackground(new Color(101,185,243));
province.addItem("");
province.addItem("山东省");
province.addItem("湖南省");
province.addItem("台湾省");
jLabel9.setText("城市");
jLabel9.setFont(f);
jLabel9.setBounds(new Rectangle(292,150,26,20));
city.setBounds(new Rectangle(318,150,50,22));
jLabel10.setText("个人资料");
jLabel10.setFont(f);
jLabel10.setBounds(new Rectangle(6, 200, 87, 18));
info.setBounds(new Rectangle(5, 219, 363, 103));
jButton1.setText("提交");
jButton1.setFont(f);
jButton1.setBackground(new Color(101,185,243));
jButton1.setBounds(new Rectangle(228, 354, 60, 22));
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jButton1_mouseClicked(e);
}
});
jButton2.setText("取消");
jButton2.setFont(f);
jButton2.setBackground(new Color(101,185,243));
jButton2.setBounds(new Rectangle(308, 354, 60, 22));
this.getContentPane().add(jButton1, null);
this.getContentPane().add(panel1, null);
panel1.add(jLabel1,null);
panel1.add(jLabel2, null);
panel1.add(nickname, null);
panel1.add(jLabel3,null);
panel1.add(sex,null);
panel1.add(jLabel4,null);
panel1.add(headpic,null);
panel1.add(jLabel5, null);
panel1.add(password, null);
panel1.add(jLabel6,null);
panel1.add(checkpassword,null);
panel1.add(jLabel7, null);
panel1.add(email, null);
panel1.add(jLabel10, null);
panel1.add(info, null);
panel1.add(jLabel8, null);
panel1.add(province,null);
panel1.add(jLabel9, null);
panel1.add(city,null);
panel1.add(jButton1, null);
panel1.add(jButton2, null);
panel1.add(jLabel1,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(sex.getSelectedItem());
out.println(password.getPassword());
out.println(email.getText().trim());
out.println(province.getSelectedItem());
out.println(city.getText().trim());
out.println(info.getText().trim());
out.println(headpic.getSelectedIndex());//head picindex
int no;
no = Integer.parseInt(in.readLine());
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 javaicq#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) {
}
}
}
class HeadPicCombobox extends DefaultComboBoxModel { //头象列表类
public HeadPicCombobox(String[] pics) {
for (int i = 0; i < pics.length; ++i) {
addElement(new Object[] { new ImageIcon("D:\\Java\\New\\Jicq\\src\\"+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;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -