覆盖AWT并存储图形

时间:2012-07-08 14:06:34

标签: java awt graphics2d

-Hi全部!我正在创建一个模拟波干扰的Java小程序,我几乎已经完成了(将根据GPL许可)。但是,我有两个关于AWT油漆循环的问题,我很难找到答案。

  1. 我想做一个关于'关于'按下按钮时出现的叠加层。我想要这样做的方法是使用我的静态消息和图例对象绘制整个applet窗口。问题是停止AWT组件在前台绘制自己而不使用remove()。有没有办法阻止AWT暂时自拔?

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

  3. 如果你能回答我的任何一个问题,我将非常感激!

    干杯,杰克艾利森

1 个答案:

答案 0 :(得分:0)

回答您的第一个问题:

如果您已在代码中将其隐藏,则无法停用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();
}