Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 添加多个对象 公共类游戏扩展JFrame实现ActionListener{ 绘图对象=新绘图(); 定时器t=新定时器(1,此); 智力得分; ArrayList=新建ArrayList(); 公共游戏() { t、 start(); setDefaultCloseOperation(关闭时退出); 设置大小(700600); setVisible(真); 添加(对象); 添加(新JLabel(“Hello”); 验证(); 创建炸弹(); }_Java_Swing_Object - Fatal编程技术网

Java 添加多个对象 公共类游戏扩展JFrame实现ActionListener{ 绘图对象=新绘图(); 定时器t=新定时器(1,此); 智力得分; ArrayList=新建ArrayList(); 公共游戏() { t、 start(); setDefaultCloseOperation(关闭时退出); 设置大小(700600); setVisible(真); 添加(对象); 添加(新JLabel(“Hello”); 验证(); 创建炸弹(); }

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

为什么我不能同时添加JLabel和对象。只有一个出现。(JLabel)。

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);
    }
}