Java 添加多个对象 公共类游戏扩展JFrame实现ActionListener{ 绘图对象=新绘图(); 定时器t=新定时器(1,此); 智力得分; ArrayList=新建ArrayList(); 公共游戏() { t、 start(); setDefaultCloseOperation(关闭时退出); 设置大小(700600); setVisible(真); 添加(对象); 添加(新JLabel(“Hello”); 验证(); 创建炸弹(); }
为什么我不能同时添加JLabel和对象。只有一个出现。(JLabel)。Java 添加多个对象 公共类游戏扩展JFrame实现ActionListener{ 绘图对象=新绘图(); 定时器t=新定时器(1,此); 智力得分; ArrayList=新建ArrayList(); 公共游戏() { t、 start(); setDefaultCloseOperation(关闭时退出); 设置大小(700600); setVisible(真); 添加(对象); 添加(新JLabel(“Hello”); 验证(); 创建炸弹(); },java,swing,object,Java,Swing,Object,为什么我不能同时添加JLabel和对象。只有一个出现。(JLabel)。JFrame默认设置为BorderLayout。在BorderLayoutadd方法中,将给定组件添加到中心位置 因此: 使用这些行,您将两个项目都添加到中心位置。例如,如果您将标签添加到南部位置,您的对象将可见 add(object); add(new JLabel("Hello")); 编辑: 正如@camickr所说,添加所有组件后,必须调用setVisible(true)。请查看下面的代码 add(objec
JFrame
默认设置为BorderLayout
。在BorderLayout
add
方法中,将给定组件添加到中心位置
因此:
使用这些行,您将两个项目都添加到中心
位置。例如,如果您将标签添加到南部
位置,您的对象
将可见
add(object);
add(new JLabel("Hello"));
编辑:
正如@camickr所说,添加所有组件后,必须调用setVisible(true)
。请查看下面的代码
add(object);
add(new JLabel("Hello"), BorderLayout.SOUTH);
公共类游戏扩展JFrame实现ActionListener{
绘图对象=新绘图();
定时器t=新定时器(1,此);
智力得分;
ArrayList=新建ArrayList();
公共游戏(){
t、 start();
setDefaultCloseOperation(关闭时退出);
设置大小(700600);
添加(对象);
添加(新JLabel(“Hello”);
验证();
创建炸弹();
setVisible(真);
}
}
您遇到的错误是什么?我们可以看到添加功能吗?绘制的是什么类型的对象?您是否能够在任何其他控件上显示它?我的最佳猜测是,添加的图形没有任何问题,但它只是没有实际绘制某些东西,因此似乎没有添加。您知道默认布局是什么吗JFrame的r是?非常感谢。我也试过了,但也在我的对象中添加了BorderLayout.NORTH,这是我不应该添加的。(1+)@Dr.Satti,这是正确的解决方案,尽管您应该使用BorderLayout.PAGE_END。但是,在使框架可见之前,您还应该将组件添加到框架中。不需要validate()。同样,基本代码应该是frame.add(…),frame.pack(),frame.setVisible(true)。我必须使用validate()因为对象是paintComponent。否则,在我调整屏幕大小之前,图形将显示。@Dr.Satti,不,您不需要validate()。您已经被告知setVisible()必须是最后一条语句!!!不要忘记“接受”通过点击复选标记来回答这个问题,所以人们现在问题已经解决了,因为你已经得到了问题的简单答案。
add(object);
add(new JLabel("Hello"), BorderLayout.SOUTH);
public class Game extends JFrame implements ActionListener {
Drawing object = new Drawing();
Timer t = new Timer(1, this);
int score;
ArrayList<Enemy> bombs = new ArrayList<Enemy>();
public Game() {
t.start();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(700, 600);
add(object);
add(new JLabel("Hello"));
validate();
createBombs();
setVisible(true);
}
}