-1
所以我有一个嵌入到JFrame中的java.applet.Applet。该applet使用java.awt.Canvas进行绘制。 的代码将是相当多的,我张贴,并没有“小”的例子,但这里是一个图片至少:停止闪烁/重绘
好了,所以在上面,在画布上连续被小程序借鉴。当按下切换按钮时,底部的JTextArea被隐藏,并且当没有按下切换按钮时显示。
但是,每当我显示/隐藏TextArea时,Applet/Canvas都会闪烁。每次显示/隐藏TextArea时,都会调整JFrame的大小。
现在的小片段我有显示/隐藏的样子:
public void setConsoleVisible(boolean Visible) {
this.ScrollPane.setVisible(Visible); //Show/Hide the JTextArea.
frame.pack(); //Pack the JFrame to resize it.
frame.setSize(frame.getWidth(), frame.getHeight() + 1); //resize the frame by 1px.
}
我怎么能阻止它,当它调整大小和显示/隐藏的JTextArea闪烁?我的画布/小程序已经双缓冲。
听起来有点像混合重和轻量级组件。 AWT组件在执行自定义绘画时以闪烁着称,因为它们不是双缓冲 – MadProgrammer 2013-05-13 03:55:44
嗯,但除了awt画布和applet(不是JApplet)之外,我不能使用其他任何东西。原因是因为这是我被告知要使用的并且被给予applet。我将它从Jar加载到JFrame中。 任何想法我可以做什么?我在想,这是调整它的大小。 – Brandon 2013-05-13 03:58:12
请尝试使用活动绘画。这将需要一个循环和捆绑主线程,但摇摆元素应该从EDT处理。 – Nikki 2013-05-13 04:01:56