打开新的JFrame并在单击按钮后关闭上一个

时间:2015-03-04 17:26:15

标签: java swing jframe jbutton

如何编码一个按钮,当点击该按钮时,会关闭当前的JFrame并打开一个新按钮?

这是我到目前为止所做的,但旧框架保持打开状态:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    practise1 s = new practise1();
    s.setVisible(true);
} 

我在第一个.close()之后尝试使用{,但它给了我一个错误。

5 个答案:

答案 0 :(得分:2)

如果您打算稍后使用原始JFrame,请在原始JFrame上使用setVisible(false)。如果您打算关闭第一个JFrame并且从不重复使用它,则可以使用dispose()

答案 1 :(得分:0)

  public void actionPerformed(ActionEvent e)
  {
    if(e.getSource () == button)
    {
      test = new JFrame();
      test.setSize(300,300);
      test.setVisible (true);
      this.dispose();

    }
  }

在创建新框架后进行处理。

答案 2 :(得分:0)

感谢大家的帮助。我使用this.dispose();方法

答案 3 :(得分:0)

您只需将其放入您的代码中即可:

(这里的示例是我使用ActionPerformed方法执行此操作的JButton)

/ ************************************************** ************************ /

private void openBTNActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        dispose();
        FrameTarget t = new FrameTaregt();
        t.setVisible(true);
        //set the size : 1250 pixels de width and 720 pixels de height
        t.setSize(1250, 720);
        //make the frame in the center wuth this 
        t.setLocationRelativeTo(null);
        t.setResizable(true);     

}

                                             

答案 4 :(得分:-1)

让我们说当前的Frame是FirstFrame 然后点击JButton转到NewFrame

import javax.swing.*;

public class FirstFrame extends Jframe implements ActionListener{


  JButton button;    

  public FirstFrame(){
   setVisible(true);
   setSize(500,500);

    button=new JButton("Click me");
    button.addActionListner(this);
   add(button);     
  }

  public static void main(String[] args)
  {
   new FirstFrame();
  }

  public void actionPerformed(ActionEvent e)
   {
   if(e.getSource()==button)
    {
        NewFrame nf=new NewFrame();    // Clicking on the Button will OPEN new Frame in NewFrame.java file 
        dispose();  //this method will close the FirstFrame 
     }
   }


}