Java實現簡易登入介面
阿新 • • 發佈:2020-12-09
上課時老師講過的範例,回來自己打了一遍,有很多收穫。
也加入了自己的註釋
具體使用的包為java.swing以及java.awt
下面貼出程式碼
package com;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SimpleLogin extends JFrame implements ActionListener{
private JLabel lblName,lblPassword;
private JButton btnOk,btnCancel;
private JTextField jtfName;
private JPasswordField jtfpassword;
private JPanel jpbtn,jpMain;
public SimpleLogin() {
// TODO 自動生成的建構函式存根
super("登入");
//按鈕部分介面
jpbtn=new JPanel ();
btnOk=new JButton("確定");
btnCancel=new JButton("取消");
//新增按鈕
jpbtn.add(btnOk);
jpbtn.add(btnCancel);
//登入資訊部分介面
jpMain=new JPanel();//新建面板
lblName=new JLabel("使用者名稱:");
lblPassword=new JLabel("密 碼:");
jtfName=new JTextField(15);
jtfpassword= new JPasswordField(15);
//新增標籤以及文字框
jpMain.add(lblName);
jpMain.add(jtfName);
jpMain.add(lblPassword);
jpMain.add(jtfpassword);
//新增按鈕監聽器
btnOk.addActionListener(this);
btnCancel.addActionListener(this);
Container con =this.getContentPane();//頂級容器
//使用邊框式佈局
con.add(jpbtn,BorderLayout.SOUTH);
con.add(jpMain,BorderLayout.CENTER);
this.setSize(250,150);//視窗大小設定
this.setLocation(500, 300);//視窗位置設定
this.setResizable(false);//視窗大小不可變更
this.setVisible(true);//視窗可見
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//EXIT_ON_CLOSE:使用System exit方法退出應用程式
}
//建立主函式
public static void main(String[] args) {
SimpleLogin sl=new SimpleLogin();
}
@Override
public void actionPerformed(ActionEvent e) {
// 此處可以連線資料庫改為按鈕的具體事件,這裡只做一個簡單的測試
if(e.getSource()==btnOk){
if(jtfName.getText().equals("aa") && new String(jtfpassword.getPassword()).equals("123")){
this.dispose();
JOptionPane.showMessageDialog(null,"登入成功");
}else{
JOptionPane.showMessageDialog(null,"登入失敗");
jtfName.setText("");
jtfpassword.setText("");
}
}
if(e.getSource()==btnCancel){
System.exit(0);
}
}
}