2009-08-15 43 views
1

是否有可能將一個子組件的JButton內,使之透明的鼠標事件的一個子集,因此:添加子組件到一個JButton

  • 子組件接收MouseMotionEvent S(因此它可以通過修改顯示的圖像)
  • 點擊仍然踩下JButton「後面」的子組件

如果子組件添加到該按鈕,但沒有做出其他改變,點擊在該地區Ø響應被小孩佔據並不會激活按鈕。

我知道這可以通過創建一個擴展JButton的新類來實現,但我更願意使用已經寫好的子組件。

注意:這純粹是出於美觀的原因。子組件僅更改其自己的外觀。它不會響應點擊進行任何其他操作。只有一個Action,按鈕以正常方式觸發。

回答

1

是的,這很可能,但可能有更好的方法來改變鼠標移到JButton的外觀。你可以擴展ButtonUI來做到這一點。但是,如果您想要通過JButton拖放組件,則應該將其他鼠標事件(例如點擊)傳遞到基礎JButton。

+0

我使用SwingUtilities.convertMouseEvent將不需要的事件傳遞給按鈕,從而產生期望的效果。 – finnw 2009-08-16 12:16:54