Java实现简单的GUI登录和注册界面

港控/mmm° 2023-02-17 05:26 176阅读 0赞

先看效果图:

登陆界面:
在这里插入图片描述
注册界面:
在这里插入图片描述

实现代码如下:

一、登陆界面:
  1. package cn.bms.view;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.Font;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import javax.swing.ImageIcon;
  8. import javax.swing.JButton;
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JPanel;
  12. import javax.swing.JTextField;
  13. import javax.swing.border.MatteBorder;
  14. import cn.bms.tools.GUITools;
  15. /* * 登录窗口 */
  16. @SuppressWarnings("serial")
  17. public class AdminLogin extends JFrame {
  18. private JPanel contentPanel = new JPanel();
  19. // Label标签存放背景图片
  20. private JLabel label;
  21. // 设置按钮组件
  22. private JButton login = new JButton("登录"), register = new JButton("注册");
  23. private JLabel jlb1 = new JLabel("用户名:"), jlb2 = new JLabel("密码:"), jlbtitle = new JLabel("登录界面");
  24. // 设置文本框组件
  25. private JTextField admin = new JTextField(), password = new JTextField();
  26. public AdminLogin() {
  27. this.init();
  28. this.addListener();
  29. }
  30. private void init() {
  31. this.setTitle("管理员登陆界面");
  32. this.setSize(500, 350);
  33. GUITools.center(this);
  34. ImageIcon image1 = new ImageIcon("837878.jpg"); // 界面背景图片
  35. JLabel backLabel = new JLabel();
  36. backLabel.setIcon(image1);
  37. label = new JLabel(image1);
  38. label.setBounds(0, 0, 1000, 400);
  39. // 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方
  40. this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
  41. // 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。
  42. ((JPanel) this.getContentPane()).setOpaque(false);
  43. /* * 添加组件到contentPanel容器中 布局方式为自由布局。 */
  44. contentPanel.setLayout(null);
  45. add(admin);
  46. add(password);
  47. add(login);
  48. add(register);
  49. add(jlb1);
  50. add(jlb2);
  51. add(jlbtitle);
  52. /* * 组件绝对位置 */
  53. jlb1.setBounds(50, 130, 90, 25);
  54. jlb1.setForeground(Color.WHITE);
  55. admin.setBounds(95, 130, 300, 25);
  56. password.setBounds(95, 154, 300, 25);
  57. jlb2.setBounds(50, 154, 90, 25);
  58. jlb2.setForeground(Color.WHITE);
  59. register.setBounds(95, 225, 90, 20);
  60. login.setBounds(315, 225, 90, 20);
  61. jlbtitle.setBounds(180, 45, 200, 50);
  62. Font f = new Font("微软雅黑", Font.BOLD, 30);
  63. jlbtitle.setFont(f);
  64. jlbtitle.setForeground(Color.BLUE);
  65. /* * 组件透明化 */
  66. admin.setOpaque(true);
  67. password.setOpaque(true);
  68. contentPanel.setOpaque(false);
  69. getContentPane().add(contentPanel);
  70. /* * 组件边框颜色 */
  71. textSet(admin);
  72. textSet(password);
  73. }
  74. /* * JTextField文本框设置方法. */
  75. private void textSet(JTextField field) {
  76. field.setBackground(new Color(255, 255, 255));
  77. field.setPreferredSize(new Dimension(150, 28));
  78. MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
  79. field.setBorder(border);
  80. }
  81. /* * 事件监听 */
  82. private void addListener() {
  83. login.addActionListener(new ActionListener() {
  84. @Override
  85. public void actionPerformed(ActionEvent e) {
  86. forLogin(admin.getText(), password.getText());
  87. }
  88. });
  89. register.addActionListener(new ActionListener() {
  90. @Override
  91. public void actionPerformed(ActionEvent e) {
  92. forRegister();
  93. }
  94. });
  95. }
  96. // 登录方法
  97. public void forLogin(String admin, String pwd) {
  98. }
  99. // 注册方法
  100. public void forRegister() {
  101. }
  102. }
二、注册界面:
  1. package cn.bms.view;
  2. import java.awt.Color;
  3. import java.awt.Dimension;
  4. import java.awt.Font;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import javax.swing.ImageIcon;
  8. import javax.swing.JButton;
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JPanel;
  12. import javax.swing.JTextField;
  13. import javax.swing.border.MatteBorder;
  14. import cn.bms.controller.AdminLoginController;
  15. import cn.bms.tools.GUITools;
  16. /* * 注册窗口 */
  17. @SuppressWarnings("serial")
  18. public class AdminRegister extends JFrame {
  19. private JPanel contentPanel = new JPanel();
  20. // Label标签存放背景图片
  21. private JLabel label;
  22. // 设置按钮组件
  23. private JButton ok = new JButton("确定注册"), back = new JButton("返回登录");
  24. private JLabel jlb1 = new JLabel("用户名:"), jlb2 = new JLabel("密码:"), jlb3 = new JLabel("确认密码:"),
  25. jlbtitle = new JLabel("注册界面");
  26. // 设置文本框组件
  27. private JTextField admin = new JTextField(), password1 = new JTextField(), password2 = new JTextField();
  28. public AdminRegister() {
  29. this.init();
  30. this.addListener();
  31. }
  32. private void init() {
  33. this.setTitle("管理员注册界面");
  34. this.setSize(500, 350);
  35. GUITools.center(this);
  36. ImageIcon image1 = new ImageIcon("837878.jpg"); // 界面背景图片
  37. JLabel backLabel = new JLabel();
  38. backLabel.setIcon(image1);
  39. label = new JLabel(image1);
  40. label.setBounds(0, 0, 1000, 400);
  41. // 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方
  42. this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
  43. // 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。
  44. ((JPanel) this.getContentPane()).setOpaque(false);
  45. /* * 添加组件到contentPanel容器中 布局方式为自由布局。 */
  46. contentPanel.setLayout(null);
  47. add(admin);
  48. add(password1);
  49. add(password2);
  50. add(ok);
  51. add(back);
  52. add(jlb1);
  53. add(jlb2);
  54. add(jlb3);
  55. add(jlbtitle);
  56. /* * 组件绝对位置 */
  57. jlb1.setBounds(40, 130, 90, 25);
  58. jlb1.setForeground(Color.WHITE);
  59. admin.setBounds(95, 130, 300, 25);
  60. password1.setBounds(95, 154, 300, 25);
  61. jlb2.setBounds(40, 154, 90, 25);
  62. jlb2.setForeground(Color.WHITE);
  63. password2.setBounds(95, 178, 300, 25);
  64. jlb3.setBounds(40, 178, 90, 25);
  65. jlb3.setForeground(Color.WHITE);
  66. ok.setBounds(315, 225, 90, 20);
  67. back.setBounds(95, 225, 90, 20);
  68. jlbtitle.setBounds(180, 45, 200, 50);
  69. Font f = new Font("微软雅黑", Font.BOLD, 30);
  70. jlbtitle.setFont(f);
  71. jlbtitle.setForeground(Color.BLUE);
  72. /* * 组件透明化 */
  73. admin.setOpaque(true);
  74. password1.setOpaque(true);
  75. password2.setOpaque(true);
  76. contentPanel.setOpaque(false);
  77. getContentPane().add(contentPanel);
  78. /* * 组件边框颜色 */
  79. textSet(admin);
  80. textSet(password1);
  81. textSet(password2);
  82. }
  83. /* * JTextField文本框设置方法. */
  84. private void textSet(JTextField field) {
  85. field.setBackground(new Color(255, 255, 255));
  86. field.setPreferredSize(new Dimension(150, 28));
  87. MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
  88. field.setBorder(border);
  89. }
  90. /* * 事件监听 */
  91. private void addListener() {
  92. ok.addActionListener(new ActionListener() {
  93. @Override
  94. public void actionPerformed(ActionEvent e) {
  95. setRegister(admin.getText(), password1.getText(), password2.getText());
  96. }
  97. });
  98. back.addActionListener(new ActionListener() {
  99. @Override
  100. public void actionPerformed(ActionEvent e) {
  101. new AdminLoginController().setVisible(true);
  102. }
  103. });
  104. }
  105. // 实现注册账户方法
  106. public void setRegister(String admin, String pwd1, String pwd2) {
  107. }
  108. }

发表评论

表情:
评论列表 (有 0 条评论,176人围观)

还没有评论,来说两句吧...

相关阅读