java - 如何向 jpanel 添加视觉效果?

标签 java swing jpanel

我已经定义了一个名为 Stone 的类来向 JPanel 添加图形石头:

public class Stone {

    private int x, y;
    private Color color;

    private static final int radius = 18;

    Stone(Color color) {
        this.color = color;
    }

    public Stone(int x, int y, Color color) {
        this(color);
        this.x = x;
        this.y = y;
    }

    void draw(Graphics g) {
        g.setColor(color);

        g.fillOval(x - radius, y - radius, 2 * radius, 2 * radius);
    }

    void setX(int x) {
        this.x = x;
    }

    void setY(int y) {
        this.y = y;
    }
}

我想在 JPanel 上绘制它们。我必须在 JPanel 的 paint 方法中执行此操作还是可以使用 JPanel 的 add 方法?

最佳答案

一个简单的回答是,您应该扩展一个JComponent(因为您想将它添加到JPanel)并覆盖paintComponent方法(因为你想要你的对象的一些自定义绘画)。

关于java - 如何向 jpanel 添加视觉效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781715/

相关文章:

java - Swing 灯箱效果

java - 尝试使用 iText7 合并合并 pdf,但是当我打开最终合并的 pdf 时,它说无法加载 pdf 文档

java - JScrollPane 无法与 JPanel 和 JFrame 一起使用

java - 在 JScrollPane 内的 JPanel 上绘画不会在正确的位置绘画

java - 在事件调度线程中显示 JWindow

java - 如何从面板上删除多个标签?

java - 切换动态工具提示 - java swing

Java Eclipse java.lang.UnsatisfiedLinkError JNI加载dll和C代码

java - 传递类型参数的类,该类型参数本身可以在 Java 中参数化

Java awt swing,带计时器的启动/停止按钮