日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用绝对布局的方法创建一个登录密码验证的简易窗口

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用绝对布局的方法创建一个登录密码验证的简易窗口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

絕對布局是指直接采用坐標指定的方式在容器中創建窗口,這種方式比較靈活

采用這種方法創建布局的方式主要有以下幾步:

  • 使用Container.setLayout(null)的方式取消布局管理器
  • 使用Compon.setBounds()的方式來設置每個組件的大小
  • 下面先上代碼
    import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class UseCase3 extends JFrame {/****/private static final long serialVersionUID = 1L;public UseCase3() {setTitle("登錄窗體");setBounds(300, 200, 300, 150);//絕對布局,不使用布局管理器Container cp = getContentPane();cp.setLayout(null);JLabel jl = new JLabel("用戶名:");jl.setBounds(10, 10, 200, 18);final JTextField name = new JTextField();name.setBounds(80, 10, 150, 18);JLabel jl2 = new JLabel("密碼:");jl2.setBounds(10, 50, 200, 18);final JPasswordField password = new JPasswordField();password.setBounds(80, 50, 150, 18);cp.add(jl);cp.add(name);cp.add(jl2);cp.add(password);JButton jb = new JButton("確定");jb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {if (name.getText().trim().length() == 0|| new String(password.getPassword()).trim().length() == 0) {JOptionPane.showMessageDialog(null, "用戶名密碼不允許為空");return;}if (name.getText().trim().equals("mr")&& new String(password.getPassword()).trim().equals("mrsoft")) {JOptionPane.showMessageDialog(null, "登錄成功");} else {JOptionPane.showMessageDialog(null, "用戶名或密碼錯誤");}}});jb.setBounds(80, 80, 60, 18);cp.add(jb);final JButton button = new JButton();button.setText("重置");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO 自動生成方法存根name.setText("");password.setText("");}});button.setBounds(150, 80, 60, 18);getContentPane().add(button);setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);setVisible(true);}public static void main(String[] args) {new UseCase3();}}

    下面我來簡易分析一下代碼的邏輯

  • 首先使用了seTtitle()方法來命名窗口的名稱
  • 接下來設置了窗口的大小
  • 定義了一個容器
  • 接下來就是來定義在窗口上的各種組件
  • 最后要記得使用add()方法把組件添加到容器上去
  • 密碼驗證功能的核心實現:這里只是簡單的密碼驗證,并不涉及到過多的算法,下面著重看一下密碼驗證部分:

  • public void actionPerformed(ActionEvent arg0) {if (name.getText().trim().length() == 0|| new String(password.getPassword()).trim().length() == 0) {JOptionPane.showMessageDialog(null, "用戶名密碼不允許為空");return;}if (name.getText().trim().equals("mr")&& new String(password.getPassword()).trim().equals("mrsoft")) {JOptionPane.showMessageDialog(null, "登錄成功");} else {JOptionPane.showMessageDialog(null, "用戶名或密碼錯誤");}}

    getText()來獲取輸入的密碼文本,trim()來去除兩邊多余的空格,首先我們需要判斷這個框里有東西,這就用到了length()==0的驗證方法,這個不難。
    后面用到的JOptionPane()方法里面的null可以理解為直接獲取返回值,不用過多的去管它。
    可以看到后面所謂的“登錄驗證”無非就是用戶名與所設密碼的一個與運算罷了,兩個都符合的話就可以登陸了(此實例中并不涉及到后臺接口的相關問題)

    用戶輸入錯誤的密碼怎么辦呢?

    這里提供一個快速重置的方法,先上代碼:

    final JButton button = new JButton();button.setText("重置");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO 自動生成方法存根name.setText("");password.setText("");

    可以看到,無非就是提供了一個所謂的重置按鈕,觸發的事件是將name與password里的名稱重置為空字符串,這樣就完成了重置的作用,不過也可以將密碼和賬號名單獨分開,這樣對用戶來說比較友好,畢竟不是所有人都會同時輸錯密碼與賬號

    最后一調用,結果就出來了

    public static void main(String[] args) {new UseCase3();}

    GUI界面如下:

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的使用绝对布局的方法创建一个登录密码验证的简易窗口的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。