组件没有排在首位。 Java的

时间:2014-11-14 15:39:01

标签: java user-interface components 2d-games

因此,对Java GUI游戏不熟悉,问题可能微不足道。我试图制作一种类似桌上足球的游戏。 我一直在尝试在我的FoosballTable Jcomp上添加Ball JComp。

有两种表格设置。 它的作用是将Ball Component添加到Table的底部。 我更改了桌面设置,球可见。否则不会。

如何将球添加到顶部?我一直试图在网上搜索无济于事。

谢谢。

修改1  ball类覆盖了paintComponent方法。和Frame类有各种面板。一个面板是开始按钮,即应该显示球

    ....
    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方法绘制的矩形)

0 个答案:

没有答案