代码如下:
import java.awt.Dimension;
import java.awt.Rectangle;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;import manager.SystemMS;public class AdminLogin extends JFrame {    private JLabel title = null;
    private JFrame loginFrame = null;  //  @jve:decl-index=0:visual-constraint="57,36"
    private JPanel loginContentPane = null;
    private JLabel userLabel = null;
    private JTextField userTextField = null; 
    private JLabel passwordLabel = null;
    private JPasswordField jPasswordField = null;
    private JButton loginButton = null;
    private JButton cancelButton = null; /**
 * This method initializes loginFrame
 * 
 * @return javax.swing.JFrame
 */
    private JFrame getLoginFrame() {
if (loginFrame == null) {
loginFrame = new JFrame();
loginFrame.setSize(new Dimension(368, 228));
loginFrame.setTitle("成功学院");
loginFrame.setContentPane(getLoginContentPane());
loginFrame.setVisible(true);
}
return loginFrame;
} /**
 * This method initializes loginContentPane
 * 
 * @return javax.swing.JPanel
 */
    private JPanel getLoginContentPane() {
if (loginContentPane == null) {
passwordLabel = new JLabel();
passwordLabel.setBounds(new Rectangle(80, 85, 49, 18));
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
passwordLabel.setText("密码");
userLabel = new JLabel();
userLabel.setBounds(new Rectangle(80, 50, 50, 18));
userLabel.setHorizontalAlignment(SwingConstants.CENTER);
userLabel.setText("用户名");
title = new JLabel();
title.setBounds(new Rectangle(150,10,80,18));
title.setText("管理员登陆");
loginContentPane = new JPanel();
loginContentPane.setLayout(null);
loginContentPane.add(title, null);
loginContentPane.add(userLabel, null);
loginContentPane.add(getUserTextField(), null);
loginContentPane.add(passwordLabel, null);
loginContentPane.add(getJPasswordField(), null);
loginContentPane.add(getLoginButton(), null);
loginContentPane.add(getCancelButton(), null);
}
return loginContentPane;
} /**
 * This method initializes userTextField
 * 
 * @return javax.swing.JTextField
 */
    private JTextField getUserTextField() {
if (userTextField == null) {
userTextField = new JTextField();
userTextField.setBounds(new Rectangle(170, 50, 85, 22));
}
return userTextField;
} /**
 * This method initializes jTextArea
 * 
 * @return javax.swing.JTextArea
 */
    private JPasswordField getJPasswordField() {
if (jPasswordField == null) {
jPasswordField = new JPasswordField();
jPasswordField.setBounds(new Rectangle(170, 85, 85, 22));
}
return jPasswordField;
} /**
 * This method initializes loginButton
 * 
 * @return javax.swing.JButton
 */
    private JButton getLoginButton() {
if (loginButton == null) {
loginButton = new JButton();
loginButton.setBounds(new Rectangle(90, 122, 70, 30));
loginButton.setText("登陆");
loginButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e) {
    if (userTextField.getText().equals("mayouzhong") && jPasswordField.getText().equals("liuyanyan"))  
{
     SystemMS systemMS = new SystemMS();
     new AdminLogin().dispose();          // 此处关闭不了窗口

    if (!userTextField.getText().equals("mayouzhong")) 
    {
JOptionPane.showMessageDialog(null, "用户名错误,请重新输入!");
}  
if (!jPasswordField.getText().equals("liuyanyan"))
{
JOptionPane.showMessageDialog(null, "密码错误,请重新输入!");
}
}
});
}
return loginButton;
} /**
 * This method initializes cancelButton
 * 
 * @return javax.swing.JButton
 */
    private JButton getCancelButton() {
if (cancelButton == null) {
cancelButton = new JButton();
cancelButton.setBounds(new Rectangle(175, 122, 70, 30));
cancelButton.setText("取消");
}
return cancelButton;
}


    public static void main(String []args) {

     AdminLogin adminLogin = new AdminLogin();
     adminLogin.getLoginFrame();
     adminLogin.getLoginContentPane();
     adminLogin.getUserTextField();
     adminLogin.getJPasswordField();
     adminLogin.getLoginButton();
     adminLogin.getCancelButton();
}}
为什么用new AdminLogin().dispose();在点击“登陆”后不能关闭此登录页面?
请高手指教!

解决方案 »

  1.   

                            AdminLogin.this.loginFrame.setVisible(false);
                            AdminLogin.this.loginFrame.dispose();都有点懵了,你可视的是AdminLogin.loginFrame, 点击登陆怎么是隐藏AdminLogin, 而且你也new AdminLogin().... 每次创建一个新的...有点乱
      

  2.   

    贴代码都不会,代码一点质量都没有
    SystemMS systemMS = new SystemMS(); 
    new AdminLogin().dispose(); 
    更改为
    SystemMS systemMS = new SystemMS(); 
    AdminLogin.this.loginFrame.dispose();