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