javaswing制作一个登陆界面,亲测有效
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
javaswing制作⼀个登陆界⾯,亲测有效
⼀、介绍
Swing 是⼀个为Java设计的GUI⼯具包。
Swing是JAVA基础类的⼀部分。
Swing包括了图形⽤户界⾯(GUI)器件如:⽂本框,按钮,分隔窗格和表。
Swing提供许多⽐AWT更好的屏幕显⽰元素。
它们⽤纯Java写成,所以同Java本⾝⼀样可以跨平台运⾏,这⼀点不像AWT。
它们是JFC的⼀部分。
它们⽀持可更换的⾯板和主题(各种操作系统默认的特有主题),然⽽不是真的使⽤原⽣平台提供的设备,⽽是仅仅在表⾯上模仿它们。
这意味着你可以在任意平台上使⽤JAVA⽀持的任意⾯板。
轻量级组件的缺点则是执⾏速度较慢,优点就是可以在所有平台上采⽤统⼀的⾏为。
⼆、效果
三、代码
package com.test.jframe;
import java.awt.Color;
import java.awt.EventQueue;
import bel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
public class JFrameTest {
private JFrame frame;
private JPasswordField passwordField;
private boolean isLogin = false;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFrameTest window = new JFrameTest();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public JFrameTest() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
String userName = "111";
String userPwd = "111";
frame = new JFrame();
frame.setBounds(100, 100, 667, 453);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
Label label = new Label("账号:");
label.setAlignment(Label.CENTER);
label.setBounds(116, 49, 50, 23);
frame.getContentPane().add(label);
Label label_1 = new Label("密码:");
label_1.setAlignment(Label.CENTER);
label_1.setBounds(116, 85, 50, 23);
frame.getContentPane().add(label_1);
Label label_2 = new Label("⽤户状态:");
label_2.setBounds(433, 49, 60, 23);
frame.getContentPane().add(label_2);
Label label_3 = new Label("未登录");
label_3.setForeground(new Color(255, 0, 0));
label_3.setBounds(499, 49, 40, 23);
frame.getContentPane().add(label_3);
JFormattedTextField formattedTextField = new JFormattedTextField();
formattedTextField.setBounds(172, 49, 166, 23);
frame.getContentPane().add(formattedTextField);
passwordField = new JPasswordField();
passwordField.setBounds(172, 85, 166, 23);
frame.getContentPane().add(passwordField);
JButton button = new JButton("login");
button.setBackground(new Color(255, 255, 255));
button.setBounds(126, 121, 212, 23);
frame.getContentPane().add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String getUserName = formattedTextField.getText();
String getUserPwd = passwordField.getText();
if (userName.equals(getUserName) && userPwd.equals(getUserPwd)) {
isLogin = true;
} else {
isLogin = false;
}
if (isLogin) {
JOptionPane.showMessageDialog(null, "登录成功!", "消息", JOptionPane.PLAIN_MESSAGE);
label_3.setText("已登录");
label_3.setForeground(Color.BLUE);
} else {
JOptionPane.showMessageDialog(null, "登录失败!", "消息", JOptionPane.WARNING_MESSAGE); label_3.setText("未登录");
label_3.setForeground(Color.RED);
}
}
});
}
}
四、解决中⽂乱码问题
Run as > Run Condiguration,在Arguments中增加下⾯这句话:-Dfile.encoding=gbk。