开/关登录按钮

时间:2013-12-02 02:12:59

标签: java swing event-handling

我将JLabel设置为按钮,它为我的应用程序运行登录逻辑。

如果用户输入无效,则JOptionPane弹出窗口会显示“Invalid Credentials”消息,并且不会发生任何其他情况。

如果登录成功,按钮会更改颜色(新ImageIcon),用户名和密码字段将被清除,系统会调用与用户个人资料相关联的面板(CardLayout)。

用户登录后,我希望能够单击相同的JLabel并注销系统。图标会变回原来的状态(第一个ImageIcon)并删除所有卡片。

我接近于获得此行为,但是当我点击退出时,我也会收到“Invalid Credentials”消息。如何执行注销逻辑并停止系统再次运行登录逻辑?我尝试了一个jToggleButton,但我得到了同样的行为。

以下是我的代码的一部分:

  if (userAccount == null) {
       JOptionPane.showMessageDialog(null, "Invalid Credentials!");

  } else{

       CardLayout layout = (CardLayout) container.getLayout();
       container.add("workArea",    userAccount.getRole().createWorkArea(container, userAccount,inOrganization, inEnterprise, system));
       layout.next(container);
       ImageIcon img = new ImageIcon(getClass().getResource("loginBlue.jpg"));
       loginButton.setIcon(img);
       userNameJTextField.setText("");
       passwordField.setText("");

       loginButton.addMouseListener(new MouseAdapter() {
       public void mousePressed(MouseEvent e){
       loginButton.setIcon(image);
       container.removeAll();

       }
       });
  }

0 个答案:

没有答案