Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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_Java_User Interface_Components_2d Games - Fatal编程技术网

组件不在顶部。JAVA

组件不在顶部。JAVA,java,user-interface,components,2d-games,Java,User Interface,Components,2d Games,我对JavaGUI游戏还不熟悉,所以,这个问题可能并不重要。我想做一个类似足球的游戏。 我一直在尝试将Ball JComp添加到我的FoosballTable JComp之上 有两种表格设置。 它所做的是,将球组件添加到表的底部。 我改变了桌子的设置,球是可见的。否则就不行了 如何将球添加到顶部?我一直试图在网上搜索,但没有结果 多谢各位 编辑1 ball类已重写paintComponent方法。框架类有各种面板。一个面板是开始按钮,即显示球 .... jp7.add(Start

我对JavaGUI游戏还不熟悉,所以,这个问题可能并不重要。我想做一个类似足球的游戏。 我一直在尝试将Ball JComp添加到我的FoosballTable JComp之上

有两种表格设置。 它所做的是,将球组件添加到表的底部。 我改变了桌子的设置,球是可见的。否则就不行了

如何将球添加到顶部?我一直试图在网上搜索,但没有结果

多谢各位

编辑1 ball类已重写paintComponent方法。框架类有各种面板。一个面板是开始按钮,即显示球

    ....
    jp7.add(Start);
            final Ball b = new Ball();
            Start.addActionListener(new ActionListener(){
                @Override
                public void actionPerformed(ActionEvent e) {
                    JPanel contentball = (JPanel) getContentPane();
                    contentball.add(b);
                    contentball.revalidate();
                    contentball.repaint();

                }
            });
    playersOnString.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            JPanel contentgr = (JPanel) getContentPane();
            if(e.getItem() == "[1]   [2]   [4]   [4]"){
                System.out.println("First choice");
                remove(ground2);
                contentgr.add(ground1);                 
            }
            else if(e.getItem()== "[1]   [2]   [5]  [3]"){
                System.out.println("Second choice");
                remove(ground1);
                contentgr.add(ground2);
            }
            contentgr.repaint();
            setVisible(true);
        }
    });


public class Ball extends JComponent{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private static Ball ball;
    int xAxisSpeed , yAxisSpeed;
    Team lastContactTeam;
    private int size = 15;

    public Dimension getPreferredSize()
    {
        return (new Dimension(100, 500));
    }
    public static Ball getInstance(){
        Random r = new Random();
        if(ball == null){
            ball = new Ball();
            ball.xAxisSpeed = r.nextInt(10)+1;
            ball.yAxisSpeed = r.nextInt(10)+0;
        }
        return ball;
    }
    public void paintComponent(Graphics g) { 
        super.paintComponent(g);            
        g.setColor(Color.BLACK);
        g.fillOval(190, 355, size, size);
        setVisible(true); 
    }
}
编辑2
我想把球加到已经存在的桌面上。(在面板上用PaintComponent方法绘制的矩形)

您不应该为此使用Swing。我推荐JavaSEW附带的openGLOr Java2D,你的意思是“如何将球添加到顶部?”什么的顶部?屏幕?桌子窗户?如果我读对了您的要求,那么在将组件添加到框架中时,您需要做的就是切换的顺序。