的Class1
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);
}
}
的Class2
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中。为什么按钮不出现?
答案 0 :(得分:1)
您通过使用空布局和绝对定位来拍摄自己的脚。
更好地描述了我想要实现的结构。另外,我会避免创建扩展集合的类,如ArrayList。相反,在这种情况下,通过组合增强而不是继承更好。