//一个小练习
JAVA 图形界面编程:Swing 程序设计练习 管理系统登录窗体
运行截图:
1.
程序有三个类组成,其中
LoginFrame
类用来定义登录窗体(使用绝对布局
或流式布局);
MainFrame
类用来定义主窗体;测试类
Test
,创建
LoginFrame
窗
体。
2.
当输入正确的用户名(
admin
)和密码(
123456
)并单击“登录”按钮时
打开主窗体,否则出现用户名或密码错误提示框。
代码:
package 管理系统登陆窗体;
import javax.swing.*;
import java.awt.*;
import java.awt.Container;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Font;
class MainFrame extends JFrame {
public MainFrame() {
// MainFrame() {
super(); // 继承父类的构造方法
setTitle("主窗口");
setBounds(200, 200, 400, 300); // 设置窗体的显示位置及大小
getContentPane().setLayout(null); // 设置为不采用任何布局管理器
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel();
label.setForeground(new Color(255, 0, 0));
label.setFont(new Font("", Font.BOLD, 18));
label.setText("欢迎进入主窗口");
label.setBounds(100, 100, 180, 50); // 设置“企业人事管理系统”标签的
//显示位置及大小
getContentPane().add(label);
} }
class LoginFrame extends JFrame {
private JTextField textField;
private JPasswordField passwordField;
private JLabel label, usernameLabel, passwordLabel;
private JPanel jp;
public LoginFrame() {
// LoginFrame() {
// 继承父类的构造方法
super();
// 设置窗体标题
setTitle("登录窗口");
// 设置窗体的显示位置及大小
setBounds(100, 100, 300, 260);
// 设置为不采用任何布局管理器
setLayout(null);
// 创建面板
jp = new JPanel();
// 设置面板位置及大小
jp.setBounds(0, 0, 260, 240);
// 窗体中添加面板
jp.setLayout(null);
Container contentPane = this.getContentPane();
contentPane.add(jp);
// 创建显示“企业人事管理系统”标签,并添加至面板
label = new JLabel("企业人事管理系统");
jp.add(label);
// 设置“企业人事管理系统”标签的字体及颜色
label.setForeground(new Color(255, 0, 0));
label.setFont(new Font("", Font.BOLD, 18));
// 显示位置及大小
label.setBounds(50, 30, 170, 40);
// 创建并向面板添加“用户名”标签
usernameLabel = new JLabel("用户名:");
jp.add(usernameLabel);
// 设置“用户名”标签的显示位置及大小
usernameLabel.setBounds(50, 80, 60, 15);
// 创建并向面板添加“用户名”输入文本框
textField = new JTextField();
jp.add(textField);
// 设置“用户名”文本框的显示位置及大小
textField.setBounds(100, 80, 120, 20);
// 创建“用户名”标签
passwordLabel = new JLabel("密 码:");
// 设置“密 码”标签的显示位置及大小
passwordLabel.setBounds(50, 110, 60, 15);
// 向面板添加“密 码”标签
jp.add(passwordLabel);
// 创建并向面板添加“密码”输入文本框
passwordField = new JPasswordField();
// 设置“密 码”密码框的显示位置及大小
passwordField.setBounds(100, 110, 120, 20);
jp.add(passwordField);
// 创建“登录”按钮
JButton landButton = new JButton("登录");
// 设置“登录”按钮的显示位置及大小
landButton.setBounds(60, 150, 70, 25);
jp.add(landButton);
// 添加“登录”按钮单击监听器,处理单击事件
landButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(textField.getText().trim().length()==0||new String(passwordField.getPassword()).trim().length()==0){
JOptionPane.showMessageDialog(null, "用户名密码不允许为空");
return;
}
if(textField.getText().trim().equals("admin")&&new String(passwordField.getPassword()).trim().equals("123456"))
// if(name.getText().trim().equals("mr")&&new String(password.getPassword()).trim().equals("mrsoft")){
{
// JOptionPane.showMessageDialog(null, "登录成功");
JOptionPane.showMessageDialog(null,"登录成功");
MainFrame m=new MainFrame();
m.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
//JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
});
// 创建“退出”按钮
JButton exitButton = new JButton("退出");
// 设置“退出”按钮的显示位置及大小
exitButton.setBounds(140, 150, 70, 25);
jp.add(exitButton);
// 添加“退出”按钮单击监听器,处理单击事件
exitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
} }
public class Jframe {
public static void main(String[] args) {
// TODO Auto-generated method stub
LoginFrame frame = new LoginFrame();
// 设置窗体可见
frame.setVisible(true);
}
}