作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个带有网格布局的 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 ( link ) 的文档。
您应该在您的 JPanel 中重写该方法并执行与上面的代码片段类似的操作。
在您的 ActionListener 中,您应该指定 x, y, diameter
并调用 repaint()
。
关于java - 如何在Java中绘制实心圆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2509561/
我是一名优秀的程序员,十分优秀!