我是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,但是使用我的自定义组件,它为什么不起作用。我做错了什么?