java - 如何在Java中绘制实心圆?

标签 java user-interface swing graphics geometry

我有一个带有网格布局的 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/

相关文章:

java - Linux - Java/文件编码

java - Eclipse插件: how to activate terminate button in Debug view

java - 不同Android设备上的不同游戏行为

excel - HTML5 + JS 替代品作为 Silverlight 应用程序的替代品

java - JTextBox 和所有以下 JComponent 不显示

java - Netbeans 中 javax.swing.JInternalFrame 和 JInternalFrame 有什么区别

java - JTree 中的桌面 View - Swing - 仅限 Windows

java - 如何处理JTable数据改变事件

Java 文本字段点击 Tab 创建标签

java - 试图运行 GUI 应用程序,但 GUI 从未出现