-Hi全部!我正在创建一个模拟波干扰的Java小程序,我几乎已经完成了(将根据GPL许可)。但是,我有两个关于AWT油漆循环的问题,我很难找到答案。
我想做一个关于'关于'按下按钮时出现的叠加层。我想要这样做的方法是使用我的静态消息和图例对象绘制整个applet窗口。问题是停止AWT组件在前台绘制自己而不使用remove()。有没有办法阻止AWT暂时自拔?
对于我的驻波模式,我希望计算节点和反节点标记,并在每次驻波达到最大振幅时绘制到辅助图形(我可以自己做所有这些),但是每个涂料循环的主要图形(并因此显示)。有人可以解释这样做的步骤吗?我想这将涉及创建第二个图形对象,绘制一次,然后每个周期将其绘制到主要图形。
如果你能回答我的任何一个问题,我将非常感激!
干杯,杰克艾利森
答案 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();
}