2010-08-27 63 views
0

我正在處理一個應用程序,當它用於加載文件並繪製包含的組件時,可能導致繪製重疊的組件。例如,考慮一個包含文本行的大矩形框。 現在因爲這些組件是重疊的,所以用戶很難在這種情況下選擇內部文本框,因爲它已被矩形框重疊。在java swing中處理重疊組件

我們正在考慮解決這個問題,允許用戶將任何組件移動到當前層以下的層。但是這在可用性方面有其自身的侷限性,因爲對於每個這樣的情況,用戶將不得不將較大或最近繪製的組件移動到下面的層,然後對內部組件進行其他處理,例如拖動等。可以在此應用程序的相同2d(x & y位置)處多於2個組件。

我相信應該有更好的解決方案,有人可以提供一些關於它的實現部分的指針。

回答

1

我不知道,我是否理解你的問題。您是否遇到操作監聽器或繪製組件的問題?

這個How to Use Root Panes可能會有所幫助。

您可以用Java

創建一個玻璃面板

alt text

alt text

0

下面是支持單擊並拖動鼠標來選擇多個對象繪圖程序的簡單example。更高級的程序通常通過重新排序節點列表來實現z順序功能(Move ForwardMove Backward,Move to Front, Move to Back)。

作爲分層窗格方法的替代方案,也可以考慮JInternalFrame。這example顯示How to Use Actions來管理一個菜單,從中隱藏的窗口可能會出現。