[這個問題是關於this question]「白化」整個揮杆GUI除了從一個組件
設置:我有這個家制作的「編輯標籤」組件,它看起來像一個標籤,但是當你點擊它,它變成一個可編輯的字段,允許你編輯它。您可以按Esc鍵取消,或按住Shift鍵確認編輯 - 或點擊可編輯字段下方的相應按鈕。
挑戰:當點擊編輯時,我希望整個用戶界面都是「白色」,除了編輯標籤的區域,清楚地表示用戶在哪裏應該關注它。
[這個問題是關於this question]「白化」整個揮杆GUI除了從一個組件
設置:我有這個家制作的「編輯標籤」組件,它看起來像一個標籤,但是當你點擊它,它變成一個可編輯的字段,允許你編輯它。您可以按Esc鍵取消,或按住Shift鍵確認編輯 - 或點擊可編輯字段下方的相應按鈕。
挑戰:當點擊編輯時,我希望整個用戶界面都是「白色」,除了編輯標籤的區域,清楚地表示用戶在哪裏應該關注它。
另外,這可以通過使用JXLayer項目來實現。看看他們的一些演示,當他們選擇一個項目時,他們模糊了GUI。你將不得不實現你自己的JXLayer視圖來清空你的GUI。
項目網址:https://jxlayer.dev.java.net/
演示是在頭版的「入門」項目下。
我在下面看到您的評論。關於調整大小,我相信,一旦你看到設置了JXLayer效果的視圖,本質上,照顧窗口調整大小和重新繪製。這假定你的whiteout視圖查詢當前的組件大小/位置,以便找出什麼區域不適合白板。 – Andy 2010-08-30 16:58:57
你可以看看在glass pane的可能用途...
修訂由於問題作者的評論。
這種問題通常通過人性化的Look'n'Feel實現來解決。
通常情況下,需要屏幕的組件將爲此設置一個客戶端屬性。爲該組件創建渲染組件的LnF也註冊了一個listenr。當這個屬性被設置時,一個事件被組件觸發,LnF將會收到。在活動接待處,玻璃窗格安裝在整個集裝箱框架上。
謝謝,我同意。並看看JXLayer。但是,我希望能夠提供一些有關「建築」用於做這種裝飾的想法。所有這些組件註冊的中央「突出顯示管理器」?關於重新繪製和調整大小?在高光模式下調整組件或窗口的大小? – stolsvik 2010-08-30 12:28:47
在我看來,將用戶的注意力吸引到編輯標籤上比wh出整個GUI更簡單,難道你不能僅僅在組件周圍畫一個紅色邊框嗎? – 2010-08-30 11:54:35
@Don:好的,但是,無論你在周圍畫一個環,還是畫出/淡出/模糊其餘部分,挑戰幾乎完全一樣。 – stolsvik 2010-08-30 12:25:03
只需注意一下......我已經找到了界面由於通過多次重新繪製屏幕引起的大量延遲,執行這種焦點抓取幾乎完全無法在遠程桌面上使用。如果情感淡入淡出,它甚至會更糟**。純粹的痛苦。 ;-) – 2010-08-30 14:07:14