![](/img/trans.png)
[英]AWTUtilities.setWindowOpaque is causing some text painting issues
[英]AWTUtilities setWindowOpaque causing problems
我有一個模態JDialog
,我通過調用com.sun.awt.AWTUtilities
方法setWindowOpaque(this, false)
來設置不透明。
將模式JDialog
設置為非透明時,會遇到問題。 例如,當我單擊一個不透明對話框的按鈕時,它會正確彈出,但是在打開和關閉對話框幾次之后,它確實會打開。 它不可見; 並且,由於它是模態的,因此我們無法單擊父面板中包含的按鈕。 就像它被凍結了一樣,但這僅是由於模態對話框。
如果我刪除對setWindowOpaque(this, false)
方法的調用,則該方法可以正常工作。
有人知道發生了什么嗎?
我在Windows XP上使用Java版本“ 1.6.0_26”。
謝謝。
好的,有類似的問題,有時窗口沒有響應,或者透明性被破壞了……奇怪的問題。
解決方案,至少對我來說,是在invokeLater
內部調用new TransparentWindow()
:
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TransparentWindow w = new TransparentWindow();
w.setVisible(true);
}
});
TransparentWindow是使用com.sun.awt.AWTUtilities.setWindowOpaque(window,false);
擴展JWindow的類com.sun.awt.AWTUtilities.setWindowOpaque(window,false);
創建具有圓形透明角的透明窗口,如下所述: Swing窗口的軟裁剪和每像素半透明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.