在Java中是否将鼠标悬停在多个按钮上?
在Java中,当您将鼠标悬停在单个按钮上时,是否可能使程序认为您正在悬停在多个按钮上? 我正在使用一个带有按钮的多维数组,并且希望能够一次将5个按钮悬停在上面。(所有接近实际悬停的按钮) 有什么办法吗 注意:我没有使用JButtons,只是使用常规按钮。(awt.按钮) 编辑 我显然不够清楚,我为此道歉。 以下是我正在寻找的内容的屏幕截图:在Java中是否将鼠标悬停在多个按钮上?,java,button,multidimensional-array,awt,Java,Button,Multidimensional Array,Awt,在Java中,当您将鼠标悬停在单个按钮上时,是否可能使程序认为您正在悬停在多个按钮上? 我正在使用一个带有按钮的多维数组,并且希望能够一次将5个按钮悬停在上面。(所有接近实际悬停的按钮) 有什么办法吗 注意:我没有使用JButtons,只是使用常规按钮。(awt.按钮) 编辑 我显然不够清楚,我为此道歉。 以下是我正在寻找的内容的屏幕截图: 因此,光标悬停在第一个灰色空间上,它旁边的所有空间都有不同的背景,但是,如果我需要的话,它们不会被视为悬停在上面。假设您使用的是MouseListener
因此,光标悬停在第一个灰色空间上,它旁边的所有空间都有不同的背景,但是,如果我需要的话,它们不会被视为悬停在上面。假设您使用的是
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) {
}
});
最终列表按钮=数组.asList(new Button(),new Button(),new Button());
按钮myButton=新按钮();
myButton.addMouseStener(新的MouseStener(){
公共无效鼠标事件(鼠标事件e){
用于(按钮次级按钮:次级按钮){
按钮。背景(颜色。灰色);
}
}
公共无效mouseExited(MouseEvent e){
用于(按钮次级按钮:次级按钮){
后退按钮(颜色:浅灰色);
}
}
公共无效mouseClicked(MouseEvent e){
}
公共无效鼠标按下(MouseEvent e){
}
公共无效MouseEvent(MouseEvent e){
}
});
没有理由不保留从
鼠标侦听器到列表的引用。如果监听器的任务是处理这些按钮,那么就设计您的类以使其发生。那么您真正的意思是“在Swing中”,对吗?嗯,Swing不会使用JButtons吗?那么您到底在使用什么呢?或者这应该是个秘密?我只导入了awt按钮。我只是使用常规按钮,而不是Jbuttons,这真的很让人困惑吗?这可能是AWT、SWT、android,或者天知道还有什么。只有当我们不能读懂思想的时候才令人困惑。mouseMoved
也应该被转发。