java語言圖形用戶登錄界面代碼
本文實(shí)例為大家分享了java登錄界面的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
1. Login.java
package wzb;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login extends JFrame implements ActionListener {
String userName;
String password;
String captcha;
public static String randomcaptcha;
public JLabel logoLabel, userNameLabel, passwordLabel, captchaLabel;
public JTextField userNameInput, captchaInput;
public JPasswordField passwordInput;
public JButton login, logout,change;
public Panel panel;
public Login() {
setTitle("µÇ¼½çÃæ");
setSize(400, 300);
setLocationRelativeTo(null);
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
}
public void init() {
setLayout(null);
// logoLabel= new JLabel();
// logoLabel.setIcon(new ImageIcon("E:\\eclipse\\student3\\welcome.gif"));
logoLabel = new JLabel(new ImageIcon("welcome.gif"));
logoLabel.setBounds(125, 10, 150, 70);
add(logoLabel);
userNameLabel = new JLabel("Óû§Ãû:");
userNameLabel.setBounds(90, 90, 60, 40);
add(userNameLabel);
userNameInput = new JTextField();
userNameInput.setBounds(150, 100, 150, 20);
add(userNameInput);
passwordLabel = new JLabel("ÃÜ¡¡Âë:");
passwordLabel.setBounds(90, 120, 60, 40);
add(passwordLabel);
passwordInput = new JPasswordField();
passwordInput.setBounds(150, 130, 150, 20);
add(passwordInput);
captchaLabel = new JLabel("ÑéÖ¤Âë:");
captchaLabel.setBounds(90, 150, 60, 40);
add(captchaLabel);
captchaInput = new JTextField();
captchaInput.setBounds(150, 160, 70, 20);
add(captchaInput);
panel = new PanelDemo();
panel.setBounds(220, 160, 80, 20);
add(panel);
change = new JButton("»»Ò»»»");
change.setBounds(300, 160, 80, 20);
change.setContentAreaFilled(false);
change.setBorderPainted(false);
add(change);
login = new JButton("µÇ¼£¨L£©", new ImageIcon("login.gif"));
login.setBounds(70, 200, 120, 30);
login.setMnemonic(KeyEvent.VK_L);
add(login);
logout = new JButton("Í˳ö£¨X£©", new ImageIcon("exit.gif"));
logout.setBounds(210, 200, 120, 30);
logout.setMnemonic(KeyEvent.VK_X);
add(logout);
userNameInput.addActionListener(this);
passwordInput.addActionListener(this);
captchaInput.addActionListener(this);
login.addActionListener(this);
logout.addActionListener(this);
change.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
userName = userNameInput.getText();
password = new String(passwordInput.getPassword());
captcha = captchaInput.getText();
if (e.getSource() == change) {
panel.repaint();
}
if (e.getSource() == login) {
if ((userName.equals("w")) && (password.equals("w"))) {
if (captcha.equals(randomcaptcha)) {
JOptionPane.showMessageDialog(this, "»¶ÓµÇ½!");
} else {
JOptionPane.showMessageDialog(this, "ÑéÖ¤Âë´íÎó!");
panel.repaint();
}
} else {
JOptionPane.showMessageDialog(this, "Óû§Ãû»òÃÜÂë´íÎó!");
}
}
if (e.getSource() == logout) {
JOptionPane.showMessageDialog(this, "»¶ÓÏ´ÎÔÙÀ´£¡");
//System.exit(0);
dispose();
}
}
public static void main(String[] args) {
new Login();
}
}
class PanelDemo extends Panel {
public void paint(Graphics g) {
int width = 80;
int height = 20;
g.setColor(Color.LIGHT_GRAY);
g.fillRect(0, 0, width, height);
g.setColor(Color.BLACK);
g.drawRect(0, 0, width, height);
Random rd = new Random();
for (int i = 0; i < 100; i++) {
int x = rd.nextInt(width) - 2;
int y = rd.nextInt(height) - 2;
g.setColor(Color.RED);
g.drawOval(x, y, 2, 2);
}
g.setFont(new Font("ºÚÌå", Font.BOLD, 20));
g.setColor(Color.BLUE);
char[] c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 4; i++) {
int index = rd.nextInt(c.length);
sb.append(c[index] + " ");
}
g.drawString(sb.toString(), 0, 18);
String str = sb.toString().replaceAll(" ", "");
Login.randomcaptcha = str;
}
}
2. 捕獲.PNG

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Springmvc應(yīng)用Mongodb分頁實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Springmvc應(yīng)用Mongodb分頁實(shí)現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
SpringCloud學(xué)習(xí)筆記之OpenFeign進(jìn)行服務(wù)調(diào)用
OpenFeign對feign進(jìn)行進(jìn)一步的封裝,添加了springmvc的一些功能,更加強(qiáng)大,下面這篇文章主要給大家介紹了關(guān)于SpringCloud學(xué)習(xí)筆記之OpenFeign進(jìn)行服務(wù)調(diào)用的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java經(jīng)典算法匯總之選擇排序(SelectionSort)
選擇排序也是比較簡單的一種排序方法,原理也比較容易理解,選擇排序在每次遍歷過程中只記錄下來最小的一個元素的下標(biāo),待全部比較結(jié)束之后,將最小的元素與未排序的那部分序列的最前面一個元素交換,這樣就降低了交換的次數(shù),提高了排序效率。2016-04-04
Spring Boot示例分析講解自動化裝配機(jī)制核心注解
這篇文章主要分析了Spring Boot 自動化裝配機(jī)制核心注解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-07-07
解決springmvc整合Mybatis的Log4j日志輸出問題
這篇文章主要介紹了解決springmvc整合Mybatis的Log4j日志輸出問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

