无法在JPanel上添加自定义组件

时间:2014-12-12 22:47:39

标签: java swing

我是java新手,但仍然不完全了解图书馆的运作方式。

我想要做的是,我想要一个JFrame,在里面我想要两个JPanels,一个用于按钮,另一个用于动画。

我创建了一个自定义JComponent,我想在JPanel上设置动画。这是代码:

public class PaintPart extends JPanel {        

    public PaintPart () {
        Ball b = new Ball(5,5);
        this.setPreferredSize(new Dimension(400,400));
        this.add(b);
        this.setVisible(true);
    }


    public class Ball extends JComponent {
        public Ball (int x, int y) {
            m_x = x;
            m_y = y;
        }

        @Override
        public void paintComponent(Graphics g)  {
            super.paintComponent(g);

            g.setColor(Color.yellow);

            g.fillOval(m_x, m_y, 50, 50);

        }

        public int m_x, m_y;
    }
}

我想在(m_x, m_y)的Jpanel上添加该组件。当我直接在JFrame上执行此方法时,此方法有效,但在这种情况下,它只是不显示任何内容。

另外,有趣的是,我可以完美地添加一个JButton,但是使用我的自定义组件,它为什么不起作用。我做错了什么?

0 个答案:

没有答案