我想創建一個(簡單的,有希望的)自定義Swing組件,方法是組合多個現有組件。就我而言,它是一個由JLabel組成的開關開關,以及兩個用於On和Off的JButton。我通過擴展JPanel來開始OnOffSwitch。構造函數添加子組件,並將其自身設置爲按鈕的ActionListener。該類有一個isOn()方法用於查詢組件的當前狀態。撰寫Swing組件:如何添加添加ActionListeners的能力?
我現在想添加將ActionListeners添加到OnOffSwitch類的功能。我預計這個功能可以通過擴展像JPanel這樣的Swing組件來實現,但JPanel不具備這個功能。從外觀上看,每個具有此功能的Swing組件都會自行重新實現它:向列表添加偵聽器,觸發ActionEvents等。
什麼是實現我想要的正確方法?我可以從各種Swing組件中複製/粘貼代碼(或者重新編寫它的要點),或者我可以實現我自己的OnOffSwitchListener接口。爲了保持一致,似乎我所有的組件都應該使用ActionListeners。
1我同意使用現有的部件組合物;對於我以前的誤讀抱歉。 – trashgod 2011-05-17 19:53:00