📄 register.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 + -