我有一個JPanel(讓我們叫它ctrlPanel),並使用空佈局,我已經放置在它的背景JLabel。在這個標籤的頂部,我有另一個JLabel和一個JButton(默認情況下隱藏)。當用戶用鼠標懸停在ctrlPanel上時,我想顯示該標籤和按鈕。當面板上的JButton懸停時,JPanel上的MouseExited會運行嗎?
它通過向ctrlPanel添加mouseAdapter以及在鼠標輸入時調用showControls()以及在mouseExited時調用hideControls()來工作(幾乎)。這些使用setVisible來顯示/隱藏頂部的組件。但是,當用戶將鼠標懸停在JButton上時,ctrlPanel似乎會得到一個mouseExited調用,這會使JButton「閃爍」(mouseExited-> mouseEntered-> mouseExited等等)。這對我來說沒有任何意義,因爲JButton的在 ctrlPanel中。我的意思是,當懸停在JLabel上時沒有問題。
爲了更快獲得更好的幫助,請發佈[SSCCE](http://pscode.org/sscce.html)。爲了理智,避免空佈局。 – 2011-03-25 17:44:45