gpt4 book ai didi

java - 为什么调用 JFrame 时我的 JPanel 没有显示?

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:44 24 4
gpt4 key购买 nike

最初,我在 GUI 中创建了按钮和 JPanel,但我想将它们从 GUI 中取出并为它们创建一个不同的类,因为我必须添加它们。

下面的代码给我带来了问题。

问题是我的 JPanel 没有显示。我将 VButtons 类扩展到 JPanel,假设将 JPanel 添加到 JFrame 可以工作,但没有成功。

有什么建议吗?

public static void vGui()  {
JFrame frame = new JFrame();
B b;
b = new B();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.setLayout(new BorderLayout());
frame.add(b, BorderLayout.WEST);
frame.setVisible(true);
}





public static class B extends JPanel {

B() {

JPanel Panel1 = new JPanel();
JRadioButton 1st button = new JRadioButton("1st button");
JRadioButton 2nd button = new JRadioButton("2nd button");

Panel1.add(1st button);
Panel1.add(2nd button);
Panel1.setLayout(new GridLayout(9,1))


}




}

最佳答案

VButtons 扩展了 JPanel <-- 这本身就是一个 JPanel

JPanel Panel1 <-- 但您要在 Panel1 内添加所有内容

并且 panel1 刚刚创建并未使用。

因此,删除 Panel1。

只需调用 add 方法,因为您位于 JPanel 的子类中。

如果阅读起来更清楚,您可以调用 this.add(...)

关于java - 为什么调用 JFrame 时我的 JPanel 没有显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53524867/

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