1. package com.xf.jf;
    2. import com.xf.beans.UserInfo;
    3. import com.xf.dao.UserDao;
    4. import javax.swing.*;
    5. import java.awt.*;
    6. import java.awt.event.*;
    7. public class RegisterJF extends JFrame {
    8. RegisterJF that = this;
    9. UserDao userDao =new UserDao();
    10. //构造方法 添加组建
    11. public RegisterJF(){
    12. JPanel bgJP =new JPanel();//容器创建
    13. bgJP.setBackground(Color.WHITE);
    14. //组建容器添加布局 绝对布局
    15. bgJP.setLayout(null);
    16. this.getContentPane().add(bgJP); //把容器放入窗体
    17. //内容标题
    18. JLabel title1 =new JLabel("欢迎注册盗版OICQ");
    19. title1.setFont(new Font("微软雅黑",Font.PLAIN,50));
    20. title1.setBounds(600,90,500,50);
    21. bgJP.add(title1);
    22. JLabel title2 =new JLabel("每一天乐在沟通");
    23. title2.setFont(new Font("微软雅黑",Font.PLAIN,40));
    24. title2.setBounds(600,160,400,40);
    25. bgJP.add(title2);
    26. //昵称
    27. JTextField nickJT =new JTextField(" 昵称");
    28. nickJT.setBounds(600,240,350,50);
    29. nickJT.setFont(new Font("宋体",Font.BOLD,22));
    30. nickJT.setForeground(Color.darkGray);
    31. //获取焦点失去焦点的事件
    32. nickJT.addFocusListener(new FocusAdapter() {
    33. @Override
    34. public void focusGained(FocusEvent e) {
    35. //获取焦点
    36. //当用户没有输入的时候 文本框获取到焦点清空文本输入框
    37. if(nickJT.getText().trim().equals("昵称")){
    38. nickJT.setText("");//清空文本框内容
    39. nickJT.setForeground(Color.black);//设置文字颜色
    40. }
    41. }
    42. @Override
    43. public void focusLost(FocusEvent e) {
    44. //失去焦点
    45. //文本框为空,文本框失去焦点复原文本输入框
    46. if(nickJT.getText().trim().equals("")){
    47. nickJT.setText(" 昵称");//复原文本框内容
    48. nickJT.setForeground(Color.darkGray);//设置文字颜色
    49. }
    50. }
    51. });
    52. nickJT.addMouseListener(new MouseAdapter() {
    53. @Override
    54. public void mouseClicked(MouseEvent e) {
    55. nickJT.setText("");
    56. }
    57. });
    58. bgJP.add(nickJT);
    59. //密码
    60. JTextField pwdJT =new JTextField(" 密码");
    61. pwdJT.setBounds(600,320,350,50);
    62. pwdJT.setFont(new Font("宋体",Font.BOLD,22));
    63. pwdJT.setForeground(Color.darkGray);
    64. pwdJT.addFocusListener(new FocusAdapter() {
    65. @Override
    66. public void focusGained(FocusEvent e) {
    67. //获取焦点
    68. //当用户没有输入的时候 文本框获取到焦点清空文本输入框
    69. if(pwdJT.getText().trim().equals("密码")){
    70. pwdJT.setText("");//清空文本框内容
    71. pwdJT.setForeground(Color.black);//设置文字颜色
    72. }
    73. }
    74. @Override
    75. public void focusLost(FocusEvent e) {
    76. //失去焦点
    77. //文本框为空,文本框失去焦点复原文本输入框
    78. if(pwdJT.getText().trim().equals("")){
    79. pwdJT.setText(" 密码");//复原文本框内容
    80. pwdJT.setForeground(Color.darkGray);//设置文字颜色
    81. }
    82. }
    83. });
    84. bgJP.add(pwdJT);
    85. pwdJT.addMouseListener(new MouseAdapter() {
    86. @Override
    87. public void mouseClicked(MouseEvent e) {
    88. pwdJT.setText("");
    89. }
    90. });
    91. //同意协议
    92. JCheckBox isOk =new JCheckBox("我以阅读并同意相关服务条款和隐私政策");
    93. //isOk.setFont(new Font("微软雅黑",Font.PLAIN,14));
    94. isOk.setForeground(Color.gray);
    95. isOk.setBounds(600,460,50,50);
    96. isOk.setBackground(Color.GRAY);
    97. bgJP.add(isOk);
    98. //立即注册
    99. JButton registerBtn =new JButton(" 立即注册");
    100. registerBtn.setBounds(600,400,350,50);
    101. registerBtn.setFont(new Font("微软雅黑",Font.BOLD,22));
    102. registerBtn.addActionListener(new ActionListener() {
    103. @Override
    104. public void actionPerformed(ActionEvent e) {
    105. //获取注册的昵称和密码
    106. String nickName=nickJT.getText();
    107. String password =pwdJT.getText();
    108. if(isOk.isSelected()){//判断是否同意协议
    109. //判断昵称和密码是否为空
    110. if(nickName.trim().length()==0 || password.trim().length()==0){
    111. JOptionPane.showMessageDialog(RegisterJF.this,"昵称和密码不能为空!");
    112. return ;
    113. }
    114. //判断有无修改默认值
    115. if(nickName.trim().equals("昵称")||password.trim().equals("密码")){
    116. JOptionPane.showMessageDialog(RegisterJF.this,"昵称和密码不能为默认!");
    117. return ;
    118. }
    119. //判断密码大于等于6位,自己写
    120. if(password.trim().length()<6){
    121. JOptionPane.showMessageDialog(RegisterJF.this,"密码不能小于6位数");
    122. return;
    123. }
    124. int count = userDao.register(nickName,password);
    125. //判断是否注册成功,如果成功提示注册用户到账号,如果失败,提示注册失败
    126. if(count==1){
    127. //获取到注册到用户
    128. UserInfo userInfo = userDao.getRegisterUser();
    129. JOptionPane.showMessageDialog(RegisterJF.this,"盗版OICQ注册成功!您到账号为:"+userInfo.getId()+"不要弄丢账号哦!");
    130. that.dispose();
    131. }
    132. else{
    133. JOptionPane.showMessageDialog(RegisterJF.this,"注册失败");
    134. }
    135. }else {
    136. JOptionPane.showMessageDialog(RegisterJF.this,"请先选择服务条款");
    137. }
    138. }
    139. });
    140. bgJP.add(registerBtn);
    141. //
    142. JLabel isOkStr =new JLabel("我以阅读并同意相关服务条款和隐私政策");
    143. isOk.setBounds(600,480,400,50);
    144. registerBtn.setFont(new Font("微软雅黑",Font.PLAIN,14));
    145. isOkStr.setForeground(Color.darkGray);
    146. bgJP.add(isOkStr);
    147. //
    148. JLabel bgImg=new JLabel();
    149. //设置背景图的位置以及大小
    150. bgImg.setBounds(-50,-40,560,800);//xy轴坐标,宽高481,931
    151. bgImg.setIcon(new ImageIcon(this.getClass().getResource("../images/1.gif")));//设置背景图
    152. bgJP.add(bgImg);
    153. }
    154. public void loadJF(){
    155. this.setVisible(true);//设置本窗体显示 true可见 false不可见
    156. this.setSize(1100,800);//设置窗体的显示大小1200,1000
    157. this.setLocationRelativeTo(null);//让窗体居中显示
    158. this.setTitle("盗版OICQ注册界面");//添加标题
    159. this.setIconImage(new ImageIcon(this.getClass().getResource("../images/1.jpg")).getImage());//设置窗体logo
    160. this.setResizable(true);//设置窗体是否拉伸
    161. }
    162. }