2012-02-02 106 views
1

使用JPanel使用MigLayout,當我在此面板中拖動另一個JPanel時使用setLocation(x,y);時,組件的位置被重置爲絕對定位組件約束(在添加組件時指定)。例如:MigLayout似乎覆蓋setLocation - 如何避免這種情況?

this.add(content, "pos 50 50"); 
... 
//dragging 
content.setLocation(x,y); 

當我做到這一點,它成功地改變內容的X/Y位置,但由於外(這)面板被調整大小或驗證再次立即復位。

我嘗試下面的代碼,但面板完全不就拖移至:

migLayout.setComponentConstraints(content, "pos " + x + " " + y); 

我怎樣才能解決這個問題? 感謝。

+0

沒什麼特別MigLayout - 一個LayoutManager是_supposed_找到其認爲適當的組件(而客戶端代碼_not_)對於拖動的特殊情況下,你需要實現某種邏輯刪除/復位操作的拖累組件管理者拖動的開始/結束控制,或許將其向上成的layeredPane的另一層,並在年底重新設置限制(沒有嘗試,雖然) – kleopatra 2012-02-02 11:08:59

回答

2

當你想Miglayout不把它像拖動添加關鍵字外部組件的約束。

更普遍的答案是一樣克列奧帕特拉說。

+0

不知道外部關鍵字,感謝:-) – kleopatra 2012-02-06 12:19:14

相關問題