java - 覆盖 AWT 并存储图形

标签 java awt graphics2d

-大家好!我正在制作一个模拟波干扰的 Java 小程序,我几乎已经完成了(将在 GPL 下获得许可)。但是,我有两个关于 AWT 绘制周期的问题,我很难找到答案。

  1. 我想制作一个在按下按钮时出现的“关于”叠加层。我想要执行此操作的方法是使用静态消息和图例对象绘制整个小程序窗口。问题是在不使用remove() 的情况下阻止AWT 组件在前台绘制自身。有没有办法可以暂时阻止 AWT 自行绘制?

  2. 对于我的驻波模式,我希望每次驻波达到最大幅度时计算节点和波腹标记并将其绘制到辅助图形(所有这些我都可以自己完成),但绘制到每个绘制周期的主要图形(并因此显示)。有人可以解释一下这样做的步骤吗?我想这将涉及创建第二个图形对象,绘制一次,然后每个周期将其绘制到主图形。

如果您能够回答我的任何一个问题,我将不胜感激!

干杯, jack ·艾利森

最佳答案

回答你的第一个问题:

如果您已将 paint()/paintComponent() 方法包含在代码中,则无法禁用它。如果它在那里,它就会运行。但是,您可以创建一个标志,以便只有当标志为 true 时,才会绘制内容。让我告诉你我的意思:

boolean flag;

...

public void paintComponent(Graphics comp) {
    if (flag) {
        Graphics2D comp2D = (Graphics2D) comp;
        //drawing statements
    }
}

public void actionPerformed(ActionEvent event) {
    flag = true;
    repaint();
}

关于java - 覆盖 AWT 并存储图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383736/

相关文章:

java - Graphics2D.drawArc 中的高度参数

java - Java 中命令式方法和函数式方法的比较

java - Spring Integration DSL - 等待来自流中 channel 的输入

java - KeyEvents 新的 KeyEvent 变量?

java - 有没有一种简单的方法可以使用 java Graphics 2D 对象淡入字符串字符?

java - 需要 Line2D 装饰技巧 - Graphics2D

JAVA:如何在字符串中存储古吉拉特语(其其他语言)字体?

java - 没有 wsdl 的 xml rpc 客户端 java

java - 是否可以在 Windows 10 中为 AWT 应用程序提供清晰的任务栏图标

java - 需要 java applet 来帮助测试屏幕阅读器