java登录图形界面

Posted 徐小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java登录图形界面相关的知识,希望对你有一定的参考价值。

编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验。对于每个用户名有三次密码输入机会。

package beizi;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.BorderLayout;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import java.awt.Color;
import javax.swing.JCheckBox;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.JTextPane;
import java.awt.TextArea;
import java.awt.Label;
import javax.swing.JPasswordField;
import javax.swing.JOptionPane;

public class test {

	private JFrame frame;
	private JPasswordField passwordField;
	private JTextField textField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					test window = new test();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public test() {
		initialize();
		
	}
	/**
	 * Judge the pwd and username
	 */
	public void judge() {
		
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 450, 300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		

		Label label_2 = new Label("login");//login
		label_2.setBounds(141, 31, 139, 23);
		frame.getContentPane().add(label_2);
		
		
		JButton btnNewButton = new JButton("\\u767B\\u5F55");//登录
		btnNewButton.setBounds(168, 198, 93, 23);
		btnNewButton.setBackground(Color.LIGHT_GRAY);
		btnNewButton.addActionListener(new ActionListener() {
			int i = 3;
			public void actionPerformed(ActionEvent arg0) {
				String usr=textField.getText();
				String pwd=passwordField.getText();
				
				while(i!=0) {
					i--;
					if(usr.equals("123456")&pwd.equals("abc123")) {
					    JOptionPane.showMessageDialog(null,  "登陆成功!欢迎徐小白同学~");
					    break;
				     }
					else {
						JOptionPane.showMessageDialog(null, "账户或密码错误,你还有"+(i)+"次机会");
						break;
					}
				}
				if(i==0) {
					System.exit(0);
				}
			}
		});
		frame.getContentPane().add(btnNewButton);
		
		Label label = new Label("\\u5B66\\u53F7\\uFF1A");//学号
		label.setBounds(140, 73, 34, 23);
		frame.getContentPane().add(label);
		
		Label label_1 = new Label("\\u5BC6\\u7801\\uFF1A");//密码
		label_1.setBounds(140, 121, 34, 23);
		frame.getContentPane().add(label_1);
		
		passwordField = new JPasswordField();
		passwordField.setBounds(182, 123, 79, 21);
		frame.getContentPane().add(passwordField);

		textField = new JTextField();
		textField.setBounds(182, 73, 79, 21);
		frame.getContentPane().add(textField);
		textField.setColumns(10);
		
	}
	
}

丑陋的效果,,,:

以上是关于java登录图形界面的主要内容,如果未能解决你的问题,请参考以下文章

Java图形用户界面布局控制Layout练习

用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的

C#代码如何实现界面更新

Python图形编程探索系列-07-程序登录界面设计

凯撒密码java编程实现图形界面化代码

java图形用户界面,本人代码效果如下,但是行间距有点大,按钮之类的组件过大,怎么解决?