JavaSwing程序的按钮和文本框只有在鼠标划过后才显示,而Label根本不显示

把 setVisible(true) 放到 空构造方法的最后一句。璧如Login()、mainFrame()、init()等等

package gui;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import service.AdminService;
import vo.Admin;
import javax.swing.UIManager;

/**
 * 
 * 作者  1123580927
 * 日期   2016-x-x
 *
 */
public class Login {

	JFrame frame;
	Font font;
	JLabel userNameLabel;
	JTextField userNameField;
	JLabel passWordLabel;
	JPasswordField passWordField;
	JButton loginButton;
	JButton resetButton;

	public Login() {

		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setTitle("登录窗口");

		WindowHandler windowHandler = new WindowHandler();
		frame.addWindowListener(windowHandler);

		frame.setSize(350, 280);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		font = new Font("黑体", Font.ITALIC, 16);
		frame.getContentPane().setLayout(null);

		userNameLabel = new JLabel();
		userNameLabel.setText("用户名 :");
		userNameLabel.setFont(UIManager.getFont("Label.font"));
		userNameLabel.setBounds(50, 50, 80, 20);

		userNameField = new JTextField();
		userNameField.setFont(UIManager.getFont("TextField.font"));
		userNameField.setBounds(140, 50, 150, 20);

		/**
		 * 2016-08-01
		 */
		keyEventListenner klEventListenner = new keyEventListenner();
		userNameField.addKeyListener(klEventListenner);

		passWordLabel = new JLabel();
		passWordLabel.setText("密码 :");
		passWordLabel.setFont(UIManager.getFont("Label.font"));
		passWordLabel.setBounds(50, 90, 80, 20);

		passWordField = new JPasswordField();
		passWordField.setFont(UIManager.getFont("TextField.font"));
		passWordField.setEchoChar('*');
		passWordField.setBounds(140, 90, 150, 20);

		loginButton = new JButton("登录");
		loginButton.setFont(UIManager.getFont("Button.font"));
		loginButton.setBounds(50, 130, 100, 20);

		resetButton = new JButton("重置");
		resetButton.setFont(UIManager.getFont("Button.font"));
		resetButton.setBounds(190, 130, 100, 20);

		frame.getContentPane().add(userNameLabel);
		frame.getContentPane().add(userNameField);
		frame.getContentPane().add(passWordLabel);
		frame.getContentPane().add(passWordField);
		frame.getContentPane().add(loginButton);
		frame.getContentPane().add(resetButton);

		CustomActionListener customActionListener = new CustomActionListener();

		loginButton.addActionListener(customActionListener);

		resetButton.addActionListener(customActionListener);
		frame.setVisible(true);
	}

	/**
	 * 
	 * @author wk 2016-08-01
	 * 
	 */
	public class WindowHandler extends WindowAdapter {

		@Override
		public void windowClosing(WindowEvent e) {

			int i = JOptionPane.showConfirmDialog(null, "关闭此此窗口");

			if (i == 0) {
				System.out.println("是的:" + i);
				System.exit(0);
			} else {

				frame.dispose();
				new Login();
				System.out.println("否:" + i);

			}

		}

	}

	/**
	 * 2016-08-01
	 */

	class keyEventListenner implements KeyListener {

		@Override
		public void keyTyped(KeyEvent e) {
			// TODO Auto-generated method stub

		}

		@Override
		public void keyPressed(KeyEvent e) {
			// TODO Auto-generated method stub
			if (e.getKeyCode() == KeyEvent.VK_ENTER)
				System.out.println(userNameField.getText());
		}

		@Override
		public void keyReleased(KeyEvent e) {
			// TODO Auto-generated method stub

		}

	}

	class CustomActionListener implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub

			if (e.getActionCommand() == "登录") {

				AdminService service = new AdminService();
				Admin ad = new Admin();
				ad.setUserName(userNameField.getText());
				ad.setPassword(new String(passWordField.getPassword()));
				
			
				if (service.login(ad)) {
					frame.setVisible(false);
					JOptionPane.showMessageDialog(null, "登录成功", "登录成功",
							JOptionPane.INFORMATION_MESSAGE);

					new MainManage();

				} else {
					JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录错误",
							JOptionPane.WARNING_MESSAGE);
				}

			} else if (e.getActionCommand() == "重置") {
				System.out.println("重置");
			}
		}

	}

	public static void main(String[] args) {

		new Login();

	}
}

猜你喜欢

转载自blog.csdn.net/beiwulou2994/article/details/81608212