2012-11-09 79 views
1

在所有主要的Java IDE中,都有一個GUI設計器。 當我們選擇一個組件(例如A Jbutton)並將它移動到JPanelJFrame時,它是如何完成的?
它是在其他容器上創建的拖動組件的副本嗎?我有一個項目JButton我希望能夠拖到面板。論文JButton代表一些動作,如「複製文件」,「移動文件」等...
當其中一個JButton被拖動時,會顯示動作的一些選項。拖動組件創建另一個

我查過TransferHandler但我不知道是否要走。是嗎?

回答

3

這當然有可能。你需要學習Drag and Drop教程。特別是,您可能想要實施Drop Location Rendering,討論here,以表示該行爲。

通過在Action實例封裝按鈕的名稱,圖標,監聽器等,您importData()實現可以方便地使用setAction()動態地更改目標按鈕的行爲。

另一種方法可能是將按鈕添加到JToolBar。在正常模式下,點擊按鈕喚起Action;在編輯器模式下,單擊按鈕Action再次通過setAction()更改爲從列表中選擇的一個。

+0

+1爲放置位置渲染:D – MadProgrammer

相關問題