如何回到之前看不见的帧

时间:2014-04-11 09:09:57

标签: java swing jframe

我是Java Swing的新手,我正在使用swing这样的登录框架。

在框架中成功登录后,打开另一个新框架,同时登录框架变为不可见。

我想要做的是,当我关闭另一帧(登录帧之后)时,我希望先前的登录帧再次显示从不可见到可见。请让我知道如何做到这一点.. :)

3 个答案:

答案 0 :(得分:1)

假设您的上一帧是myPreviousFrame

只要您想要显示myPreviousFrame.setVisible(true);即可。

示例:

currentFrame.dispose();
myPreviousFrame.setVisible(true);

注意:如果您编写代码System.exit(0),它将关闭(终止)您的应用程序。当您的应用程序终止时,您无法使登录框架可见。您需要重新启动您的应用程序。所以你需要写dispose()

<强>更新:

我想你有一个方法exitForm(),当你点击关闭(X)时会调用它。

示例:

private void exitForm(java.awt.event.WindowEvent evt) {                          
     //System.exit(0); which was used 
     // to fullfill your requirement you need to write below code
     this.dispose();// here [this] keyword means your current frame
     //OR simply you can use this.setVisible(false); instead of this.dispose();
     myPreviousFrame.setVisible(true); // this will displays your login frame
} 

答案 1 :(得分:1)

你可以这样试试:

public class jFrame1 extends javax.swing.JFrame{
  // ur code
  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    jFrame2 f2 = new jFrame2(this);
    f2.setVisible(true);
    this.setVisible(false);
  }
}

public class jFrame2 extends javax.swing.JFrame{
  // ur code
  private JFrame frame;

  public jFrame2(JFrame frame) {
    this.frame = frame;
  }

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    this.frame.setVisible(true);
    this.setVisible(false);
    this.dispose();
  }

  // so on
}

答案 2 :(得分:0)

这里我只考虑两个帧,目前你处于第二帧,想要回到第一帧。

public class previous_action implements ActionListener{
    public void actionPerformed(ActionEvent t){
        Movieticket m;
        m=new Movieticket();
        m.display();
    }
}

这里的上一个动作是一个类,它会带你回到前一帧。按钮框是一个设置我们当前帧的类。电影票是一个包含显示功能的公共类,它在应用程序启动时设置框架第一帧。 单击该按钮时,将转到上一帧。