JAVA 图形界面编程:Swing 程序设计练习 管理系统登录窗体

//一个小练习

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);
		
	}

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值