-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