JAVA第二周随笔

本次的随笔为合理使用组合框等来制作图形界面,我做的是一个用户登录界面,在做之前,我先在脑海中构思了一个框架,随后在做的过程中又加了一些细节,从中我发现了有许多内容都是老师讲过的,但由于我课下未能及时复习,导致许多知识都十分陌生,同时,也发现了一个组件可以用多种代码方法来实现,丰富了我的知识。以下是我的作品,仍然存在一个问题,就是用户名无论输入什么,只要密码正确,都可以进入。通过网上查阅相关知识也未能解决。


package denglu;

import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;

public class DL {
public static void main(String[] args) {
//创建界面
final JFrame frm = new JFrame("用户登录系统");
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setLayout(null);

	//副窗口
	final JDialog jd = new JDialog(frm, "登录成功");
	jd.setBounds(500,250,300,150);
	
	//创建用户名和密码
	JLabel label1 = new JLabel("用户名:");
	label1.setBounds(50, 40, 120, 25);
	JLabel label2 = new JLabel("密     码:");
	label2.setBounds(50, 80, 120, 25);
	frm.add(label1);
	frm.add(label2);
	//组合框
    JComboBox text = new JComboBox();
	text.setBounds(120, 40, 150, 25);
	text.addItem("陈旭东");
	text.addItem("陈旭东1");
	text.setEditable(true);//组合框可编辑
	JPasswordField password = new JPasswordField("1");
	password.setBounds(120, 80, 150, 25);	
	frm.add(text);
	frm.add(password);

	//创建按钮
	JButton yes = new JButton("确定");
	yes.setBounds(90, 140, 90,30);
	yes.setBackground(Color.PINK);
	JButton out = new JButton("退出");
	out.setBounds(190, 140, 90, 30);
	out.setBackground(Color.orange);
	frm.add(yes);
	frm.add(out);
	
	String account = text.getSelectedItem().toString();
	String  pwd = new String(password.getPassword());

	//创建监听效果		
	yes.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			if(account.equals("陈旭东")&&pwd.equals(password.getText()))	
					{
				
				JOptionPane.showMessageDialog(null,"            "+"您的用户名:"+"      "+account+"
            "+"您的密    码:"+"      "+pwd,"登陆成功", JOptionPane.PLAIN_MESSAGE);	
			}else{
				JOptionPane.showMessageDialog(null, "错误", "提示", JOptionPane.ERROR_MESSAGE);
			}
		}	
	});
	
	out.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			System.exit(0);
		}
	});
    
	JLabel label = new JLabel();
	label.setBounds(1,1,400,200);
	Icon z1 = new ImageIcon("image/tt.jpg");
	label.setIcon(z1);
	frm.add(label);
	
	frm.setBounds(450,230,400,240);
	frm.setVisible(true);

	}

}

原文地址:https://www.cnblogs.com/cxdbk/p/5289827.html