单击按钮后如何从JFrame转换到另一个JFrame?

时间:2016-11-29 18:11:51

标签: java swing user-interface

我正在制作游戏的GUI,我有一个使用JFrame创建的启动画面。我有一个按钮,说播放和我想要发生的事情是当我按下播放时,我想切换到另一个JFrame,这将有不同的东西。但是,我不希望窗口关闭并打开另一个窗口,我希望它只是从一个帧切换到另一个帧。

我没有GUI的经验,如果你有任何信息可以帮助它将非常感激。

1 个答案:

答案 0 :(得分:0)

以下是一个例子:

import javax.swing.JFrame;
import javax.swing.JButton;


public class Test {
  public static void main(String[] args) {
    JFrame f = new JFrame();
    f.setBounds(10, 10, 500, 200);
    JButton b1 = new JButton("b1");
    b1.addActionListener((c) -> {
      buttonPressed(f);
    });
    f.setContentPane(b1);
    f.setVisible(true);
  }

  private static void buttonPressed(JFrame f) {
    JButton b2 = new JButton("b2");
    f.setContentPane(b2);
    f.revalidate();
  }

按下b1时,框架的内容窗格将替换为新按钮。需要revalidate()调用才能在更改后刷新UI。