gpt4 book ai didi

Java - 如何使JFrame的内容出现在同一个窗口而不是多个窗口中

转载 作者:行者123 更新时间:2023-12-01 13:16:32 26 4
gpt4 key购买 nike

我是java新手,正在达到它的高级水平,我在GUI控件中遇到问题,我制作了一个按钮,单击该按钮时会打开一个新窗口,如下所示:

     JButton b = new JButton("Open New Window");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Window w = new Window();
w.setVisible(true);
}
});

这个窗口包含其他对象,但我一直在考虑以这样的方式制作按钮,而不是打开一个新的 JFrame,它会在同一个窗口中打开所有内容,而不打开一个新窗口,老实说,我不知道该怎么做请问我可以获得专业帮助吗

最佳答案

我认为您需要针对这种情况的卡片布局。这里有一些代码应该为您指明正确的方向。

class MyFrame extends JFrame {

public MyFrame() {

JComponent allMyStuff = new JComponent();
JComponent allMyOtherStuff = new JComponent();

this.getContentPane().setLayout(new CardLayout());

this.getContentPane().add(allMyStuff, "1");
this.getContentPane().add(allMyOtherStuff, "2");

CardLayout cl = (CardLayout) (this.getContentPane().getLayout());
cl.show(this.getContentPane(), "1");

JButton b = new JButton("Open New Window"); //add somewhere to first compoonent
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

CardLayout cl = (CardLayout) (this.getContentPane().getLayout());
cl.show(this.getContentPane(), "2");
}
});
}
}

我怀疑代码是否能运行,但总的来说它包含了这个想法。您的一个面板中有一些内容,另一个面板中有一些内容,您只想在这两个面板之间切换。当然,需要将该按钮添加到第一个面板 (allMyStuff) 的某处。

关于Java - 如何使JFrame的内容出现在同一个窗口而不是多个窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com