gpt4 book ai didi

Java JFrame/JButton/Box - 没有按钮出现

转载 作者:行者123 更新时间:2023-12-01 14:01:12 25 4
gpt4 key购买 nike

1级

public class mainclass extends JFrame{
public static void main(String[] args){
JFrame jf = new mainclass();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.setSize(new Dimension(720, 480));
jf.getContentPane().setLayout(null);
}
public mainclass(){
components c = new components();
Box b = new Box(BoxLayout.Y_AXIS);
for(int i = 0; i < c.size(); i++){
System.out.println(c.get(i).getWidth());
b.add(c.get(i));
}
getContentPane().add(b);
}
}

2级

public class components extends ArrayList<Component>{
public components(){
JButton b = new JButton("Quit");
b.setBounds(10, 10, 200, 200);
b.setVisible(true);
this.add(b);
}
}

应将 JButton 添加到框中,该框添加到 JFrame 中但没有布局。为什么按钮没有出现?

最佳答案

使用空布局和绝对定位是在搬起石头砸自己的脚。

  • 您为 JFrame 提供了空布局
  • 然后向其中添加一个组件,但不指定其大小或位置(盒子),因此它将具有大小 (0, 0)。
  • 避免使用空布局
  • 学习并使用布局管理器,因为它们将帮助您轻松创建平衡良好的 GUI。

我认为您最好描述一下您想要实现的结构。另外,我会避免创建扩展集合的类,例如 ArrayList。相反,在这种情况下,通过组合而不是继承来增强会更好。

关于Java JFrame/JButton/Box - 没有按钮出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339175/

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