在Java中,當您將鼠標懸停在單個按鈕上時,是否可以讓程序認爲您在多個按鈕上懸停? 我正在使用帶按鈕的多維數組,並希望能夠一次將5個按鈕懸停。 (實際懸停附近的所有按鈕)。將鼠標懸停在Java中的多個按鈕上?
有關如何做到這一點的任何想法?
注:我沒有使用JButtons,只是普通的按鈕。 (awt.Button)
編輯 我顯然不夠清楚,我對此表示歉意。 下面是截圖什麼我在尋找:
所以,將光標懸停在最初的灰度空間,所有的空間的旁邊有不同的背景,但是,他們不被視爲被盤旋,如果我需要的話。
在Java中,當您將鼠標懸停在單個按鈕上時,是否可以讓程序認爲您在多個按鈕上懸停? 我正在使用帶按鈕的多維數組,並希望能夠一次將5個按鈕懸停。 (實際懸停附近的所有按鈕)。將鼠標懸停在Java中的多個按鈕上?
有關如何做到這一點的任何想法?
注:我沒有使用JButtons,只是普通的按鈕。 (awt.Button)
編輯 我顯然不夠清楚,我對此表示歉意。 下面是截圖什麼我在尋找:
所以,將光標懸停在最初的灰度空間,所有的空間的旁邊有不同的背景,但是,他們不被視爲被盤旋,如果我需要的話。
假設您使用的是MouseListener
,則在主按鈕上調用mouseEntered(MouseEvent e)
方法時,顯式調用所有其他按鈕的所有偵聽器上的相同方法,傳遞給定的事件。同上mouseExited(MouseEvent e)
方法。
維護從主按鈕到從屬按鈕的引用由您決定。
從屬按鈕的偵聽器將收到引用主按鈕的事件。如果需要,可以通過參考他們所連接的按鈕來創建監聽器,以便您可以在接收事件時使用該按鈕進行操作。
編輯:
這是我談論的那種事情。它有幫助嗎?
final List<Button> subordinateButtons = Arrays.asList(new Button(), new Button(), new Button());
Button myButton = new Button();
myButton.addMouseListener(new MouseListener() {
public void mouseEntered(MouseEvent e) {
for (Button subordinateButton : subordinateButtons) {
subordinateButton.setBackground(Color.GRAY);
}
}
public void mouseExited(MouseEvent e) {
for (Button subordinateButton : subordinateButtons) {
subordinateButton.setBackground(Color.LIGHT_GRAY);
}
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
});
沒有理由爲什麼你不能保持從MouseListener
到List<Button>
參考。如果監聽者的工作是在這些按鈕上工作,那麼設計你的類就可以實現。
所以你的意思是「在擺動」,對吧? – 2011-02-11 04:50:37
呃,Swing會不會使用JButton? – 2011-02-11 04:55:37