所以我有一个名为Menu的类,它扩展了JLabel,并且有一个构造函数,可以为自己添加3个JButton。
public Menu() {
this.add(jbutton1);
this.add(jbutton2);
this.add(jbutton3);
}
我有另一个名为GUI的类,它扩展了JFrame并将JLabel添加到其contentPane。
public GUI() {
Menu menu = new Menu();
getContentPane().add(menu);
setSize(300,200);
setVisible(true);
}
GUI的主要方法如下所示:
public static void main(String[] args) {
GUI gui = new GUI();
}
所以我想要的是一个带有3个JButton的JFrame(稍后会做更多的事情)。相反,我只是得到一个空白的JFrame。为什么我没有看到带有3个JButton的JLabel我添加了?
答案 0 :(得分:1)
您忘记了布局管理器,它们是控制组件如何添加到容器并按容器大小调整的关键。 JLabel不习惯用作容器并保存其他组件,因此默认情况下使用null
布局 - 根本没有布局,使您成为负责调整和定位任何添加组件的程序员。
解决方案:
您可以在此处找到布局管理器教程:Layout Manager Tutorial,您可以在此处找到指向Swing教程和其他Swing资源的链接:Swing Info。