如何在Java中绘制填充圆?
2022-09-02 23:14:17
我有一个带有网格布局的JPanel。在网格的“单元格”中,我可以放置不同的元素(例如JButtons)。这没有问题。但现在我想在一些单元格中放一个填充的圆圈。我还想将ActionListener与这些圈子联系起来。更详细地说,如果我单击圆圈,它将从当前单元格中消失并出现在另一个单元格中。我该如何在Java中做到这一点?我正在使用Swing。
我有一个带有网格布局的JPanel。在网格的“单元格”中,我可以放置不同的元素(例如JButtons)。这没有问题。但现在我想在一些单元格中放一个填充的圆圈。我还想将ActionListener与这些圈子联系起来。更详细地说,如果我单击圆圈,它将从当前单元格中消失并出现在另一个单元格中。我该如何在Java中做到这一点?我正在使用Swing。
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
// Assume x, y, and diameter are instance variables.
Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter);
g2d.fill(circle);
...
}
以下是一些关于paintComponent的文档(链接)。
您应该在 JPanel 中重写该方法,并执行类似于上面的代码片段。
在操作列表中,应指定并调用 。x, y, diameter
repaint()
/***Your Code***/
public void paintComponent(Graphics g){
/***Your Code***/
g.setColor(Color.RED);
g.fillOval(50,50,20,20);
}
g.fillOval(x-axis,y-axis,width,height);