java - 在 AWT 中重写paintComponent

标签 java swing awt paintcomponent

我看到很多人说为了一次在屏幕上绘制多个对象并覆盖 EDT,您需要类似于下面的内容:

@Override
protected void paintComponent(Graphics g)
{
    super.paintComponent(g);    // This will clear everything...

我的问题是,如何调用这个方法?您从哪里获得其参数的图形?

最佳答案

how do you call this method? and where do you get the Graphics for it's parameter?

调用组件的repaint()方法。它将调用paintComponent()(只要事件调度线程不忙)。实际上,您只需要在绘画所依赖的条件发生变化时手动执行此调用即可。否则,只要窗口的相关部分需要绘制,您的绘制方法就会自动调用,这就是您所需要的。

关于java - 在 AWT 中重写paintComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231476/

相关文章:

java - 如何更改 JFrame 标题的字体?

java - 窗口焦点事件的意外行为

java - 当 JDialog 上有 JTextArea 时,如何使按键事件在 JDialog 上工作?

Java Collection、Set、Map 或 Array 来保存唯一排序的非空白字符串

java - 如何从单击项打开 ListView ?

java - java.awt.Desktop 的问题

java - 在绘画层上将 JTextfield 添加到 JPanel

java - Java(和 Hibernate)中 Long 数据类型的主键长度?

java - 如何找出 Java 7 和 8 中的字体文件路径

java - 为什么这个 JLabel 的 ImageIcon 没有更新?