当前位置:   article > 正文

GUI模拟登录界面_gui实现登录界面

gui实现登录界面
  • GUI(图形化界面编程)
  • GUI编程要使用组件,库里面已经定义好了,找到这个组件,并且去创建它的对象,显示出来就可以了
  • javax.swing包(可视化组件):窗体、按钮、文本框、图片
  • java.awt包(元素组件):布局管理器,设置颜色时用到的颜色类,画笔
  • 窗体是最顶级的容器,这些组件都依赖于窗体,这些组件如果没有放到窗体里面是显示不了的。
  • 窗体是最顶级的容器,它里面可以放好多的组件,但是放一个组件进来的时候它应该放在窗体的哪个位置呢?这时候就需要通过布局管理器来摆放位置,确定摆放规则。
  •  设置窗体大小/宽高的单位是像素
  •  布局管理器:控制位置的摆放,确定摆放规则,并且给一个默认的大小
  •  除了窗体设置大小是用setSize,其他组件设置大小全部是setPreferredSize
  • ImageIcon这个类负责从磁盘中加载数据
  • 不能把图片直接加载到窗体上,因为ImageIcon这个类负责从磁盘中加载图片,窗体是最顶级的容器,如果要在窗体上显示图片,则还要单独为这个图片去创建一个容器去装载这些数据,然后再把这个容器添加到窗体上,要有这样的一个过渡。
  • 用JLable标签去装载图片数据。
  • JLabel标签不仅可以放图片数据,还可以放文本数据。用户提示也用JLabel标签。
  • 输入框/文本框----->JTextField类
  • JCheckBox类实现复选框
  1. package com.gch.GUI;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.util.Objects;
  7. public class Login {
  8. /**
  9. 显示登录界面的方法
  10. */
  11. public void showUI(){
  12. JFrame jf = new JFrame("登陆界面");
  13. // 设置窗体大小,单位是像素
  14. jf.setSize(500,380);
  15. jf.setLocationRelativeTo(null); // 设置居中显示
  16. jf.setDefaultCloseOperation(3); // 设置退出进程
  17. jf.setResizable(false); // 设置窗体大小固定
  18. // 设置流式布局管理器,控制位置摆放,确定摆放规则,并给一个默认的大小
  19. jf.setLayout(new FlowLayout());
  20. // 加载图片,ImageIcon这个类负责从磁盘中加载图片
  21. ImageIcon image = new ImageIcon("C:\\Users\\A.G.H\\Pictures\\Camera Roll\\0124fc57d6bc9b0000012e7e5f05b8.jpg@1280w_1l_2o_100sh.jpg");
  22. // 用JLabel标签这个组件去装载图片数据
  23. JLabel jla = new JLabel(image);
  24. // 如果图片过大,会把其他组件从窗体中挤出去
  25. // 所以我们要设置装载图片容器的大小
  26. // 除了窗体JFrame设置大小是用setSize,其他组件设置大小全部是用setPreferredSize
  27. // 设置装载图片容器JLabel的大小
  28. jla.setPreferredSize(new Dimension(680,210));
  29. // 把装载图片容器JLabel添加到窗体上
  30. jf.add(jla);
  31. // 文本框的用户提示也用JLabel标签,JLabel标签不仅可以放图片数据,还可以放文本数据
  32. // 账号用户提示 prompt:提示
  33. JLabel accountUserPrompt = new JLabel("账号: ");
  34. // 把账号用户提示添加到窗体上
  35. jf.add(accountUserPrompt);
  36. // 输入框:文本框----JTextField
  37. // 账号输入框
  38. JTextField account = new JTextField();
  39. // 设置文本框大小
  40. account.setPreferredSize(new Dimension(420,30));
  41. // 把账号输入框添加到窗体上
  42. jf.add(account);
  43. // 密码用户提示
  44. JLabel passwordUserPrompt = new JLabel("密码: ");
  45. // 把密码用户提示添加到窗体上‘
  46. jf.add(passwordUserPrompt);
  47. // 密码输入框
  48. JTextField password = new JTextField();
  49. // 设置文本框大小
  50. password.setPreferredSize(new Dimension(420,30));
  51. // 把密码输入框添加到窗体上
  52. jf.add(password);
  53. // 按钮类:JButton
  54. // 注册账号按钮
  55. JButton registerAccount = new JButton("注册账号");
  56. // 把注册账号按钮添加到窗体上
  57. jf.add(registerAccount);
  58. // 找回密码按钮
  59. JButton retrievePassword = new JButton("找回密码");
  60. // 把找回密码按钮添加到窗体上
  61. jf.add(retrievePassword);
  62. // JCheckBox类实现复选框
  63. // 记住密码复选框
  64. JCheckBox rememberPassword = new JCheckBox("记住密码");
  65. // 把记住密码复选框添加到窗体上
  66. jf.add(rememberPassword);
  67. // 自动登录复选框
  68. JCheckBox autoLogin = new JCheckBox("自动登录");
  69. // 把自动登录复选框添加到窗体上
  70. jf.add(autoLogin);
  71. // 登录按钮
  72. JButton login = new JButton("登录");
  73. // 给登录按钮设置背景色
  74. login.setBackground(Color.pink);
  75. // 把登录按钮添加到窗体上
  76. jf.add(login);
  77. jf.setVisible(true); // 设置可见
  78. // 监听器的使用:设计界面程序的交互功能
  79. /* 监听器:1.找事件源:当前动作所发生的组件 例如:在输入框输入123之后按回车键,事件源是输入框
  80. 2.监听器的选择:用什么监听器,设计什么样的功能就选择什么样的监听器
  81. 3.绑定事件处理类(当监听器监听到按钮上有动作发生,要处理这个动作,实际上就是设计它的响应功能)
  82. */
  83. // 给登录按钮添加动作监听器
  84. login.addActionListener(new ActionListener() {
  85. @Override
  86. public void actionPerformed(ActionEvent e) {
  87. if(Objects.equals(account.getText(),"123") && Objects.equals(password.getText(),"123")){
  88. JOptionPane.showMessageDialog(jf,"登录成功!");
  89. }else{
  90. JOptionPane.showMessageDialog(jf,"您输入的账号或者密码错误!");
  91. }
  92. }
  93. });
  94. }
  95. }
  1. package com.gch.GUI;
  2. public class Manage {
  3. /**
  4. 主函数
  5. */
  6. public static void main(String[] args) {
  7. Login login = new Login();
  8. login.showUI();
  9. }
  10. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/298231
推荐阅读
相关标签
  

闽ICP备14008679号