2012-05-03 59 views
4

當前我有一個容器來列出滾動窗格中的所有(JPanel)面板。我試圖完成的功能是嘗試重新排序面板。例如:將第二個面板移至第一個面板,然後將第三個面板移至最後一個位置。目前我正在考慮使用容器索引並將它們移動到數據層中。重新排列滾動窗格中的面板

在GUI窗體中表示移動的一種好方法是什麼?

我唯一的想法是在面板上放置和放下箭頭。當你擁有100多塊面板時,它看起來不那麼漂亮,而且很雜亂。

+0

如何拖放? – GreyBeardedGeek

+0

嗨格雷,我擡頭看了DnD圖書館,但我不太自信。我一直在查找可以拖放面板的示例。但大多數例子都是拖放文本。 –

+0

「JPanel」的更新是否經常發生?如果沒有,那麼你可以使用'ArrayList'來存儲'JPanel's,然後再把它們添加到你的'JFrame'中,當你知道誰應該移動和在哪裏:-) –

回答

3

我看到兩種常用的方法,以響應重新排序的collectionJPanel實例的事件:

  • 更改通過刪除所有這些,改變順序實際爲了在容器中板,驗證封閉容器並重新繪製;這個example顯示了JLabel實例的基本思想。

  • 使用flyweight patterntabular renderer更改明顯視圖中視圖的順序;這個example顯示了使用CellRendererPane的基本思想。