java mass按钮颜色搜索
所以我最近又开始使用java,我想制作一个程序,它有64个按钮,所有按钮都有单独的图片。每当您左键单击一个按钮时,它将变为蓝色;右键单击时,它将变为红色;右键单击时,它将重置该单个按钮。这是我到目前为止所拥有的——我只能发布两个链接-- 当我把程序的基础都设置好后,我遇到了一个问题,每当我点击鼠标中键时,我就可以再次点击鼠标左键,将多个按钮更改为单一颜色,下面是一个例子: 当前,单击的工作方式如下:java mass按钮颜色搜索,java,jbutton,Java,Jbutton,所以我最近又开始使用java,我想制作一个程序,它有64个按钮,所有按钮都有单独的图片。每当您左键单击一个按钮时,它将变为蓝色;右键单击时,它将变为红色;右键单击时,它将重置该单个按钮。这是我到目前为止所拥有的——我只能发布两个链接-- 当我把程序的基础都设置好后,我遇到了一个问题,每当我点击鼠标中键时,我就可以再次点击鼠标左键,将多个按钮更改为单一颜色,下面是一个例子: 当前,单击的工作方式如下: JButton CornerCrimson = new JButton(); Corne
JButton CornerCrimson = new JButton();
CornerCrimson.setIcon(new ImageIcon("src/DG Keys/Corners/Crimson_corner_key.png"));
CornerCrimson.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent f) {
}
public void mouseEntered(MouseEvent f) {
}
public void mouseExited(MouseEvent f) {
}
public void mousePressed(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e)) {
if (g1 == 0) {
CornerCrimson.setBackground(Color.blue);
g1++;
}
} else if (SwingUtilities.isRightMouseButton(e)) {
if (g2 == 0) {
CornerCrimson.setBackground(Color.red);
g2++;
}
} else if (SwingUtilities.isMiddleMouseButton(e)) {
CornerCrimson.setBackground(null);
g1 = 0;
g2 = 0;
}
}
public void mouseReleased(MouseEvent e) {
}
});
以下是完整代码的粘贴箱:
有没有办法让我可以把这个鼠标监听器应用到所有的按钮上,并检查我是否用鼠标中键点击一个有颜色的按钮
我正在考虑做一个数组,但我不知道如何做,仍然得到按钮有这样的单独图片JButton CrescentGreen=new JButton();
setIcon(新的图像图标(“src/DG key/Crescent/Green_Crescent_key.png”);
面板。添加(绿色)代码>
如果这没有任何意义,请在下面提问,我会更准确地回答,任何关于整理这些的帮助都将不胜感激
TL;DR 64按钮,鼠标听写器适用于所有,单独颜色/检查,单独图片
感谢您的时间首先创建一个类,我们称之为MyMouseListener
public class MyMouseListener extends MouseListener {
private HowEverYourBaseClassIsCalled myDataObject;
public MyMouseListener(HowEverYourBaseClassIsCalled myDataObject)
{
this.myDataObject = myDataObject;
}
public void mouseClicked(MouseEvent f) {
}
public void mouseEntered(MouseEvent f) {
}
public void mouseExited(MouseEvent f) {
}
public void mousePressed(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e)) {
if (this.myDataObject.g1 == 0) {
CornerCrimson.setBackground(Color.blue);
this.myDataObject.g1++;
}
} else if (SwingUtilities.isRightMouseButton(e)) {
if (this.myDataObject.g2 == 0) {
CornerCrimson.setBackground(Color.red);
this.myDataObject.g2++;
}
} else if (SwingUtilities.isMiddleMouseButton(e)) {
CornerCrimson.setBackground(null);
this.myDataObject.g1 = 0;
this.myDataObject.g2 = 0;
}
}
public void mouseReleased(MouseEvent e) {
}
}
HoweverYourBaseClassScaled类型位于存储g值的任何位置。
然后,当您创建所有按钮时,您只需添加
JButton CornerCrimson = new JButton();
CornerCrimson.setIcon(new ImageIcon("src/DG Keys/Corners/Crimson_corner_key.png"));
CornerCrimson.addMouseListener(new MyMouseListener(this));
首先创建一个类,我们称之为MyMouseListener
public class MyMouseListener extends MouseListener {
private HowEverYourBaseClassIsCalled myDataObject;
public MyMouseListener(HowEverYourBaseClassIsCalled myDataObject)
{
this.myDataObject = myDataObject;
}
public void mouseClicked(MouseEvent f) {
}
public void mouseEntered(MouseEvent f) {
}
public void mouseExited(MouseEvent f) {
}
public void mousePressed(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e)) {
if (this.myDataObject.g1 == 0) {
CornerCrimson.setBackground(Color.blue);
this.myDataObject.g1++;
}
} else if (SwingUtilities.isRightMouseButton(e)) {
if (this.myDataObject.g2 == 0) {
CornerCrimson.setBackground(Color.red);
this.myDataObject.g2++;
}
} else if (SwingUtilities.isMiddleMouseButton(e)) {
CornerCrimson.setBackground(null);
this.myDataObject.g1 = 0;
this.myDataObject.g2 = 0;
}
}
public void mouseReleased(MouseEvent e) {
}
}
HoweverYourBaseClassScaled类型位于存储g值的任何位置。
然后,当您创建所有按钮时,您只需添加
JButton CornerCrimson = new JButton();
CornerCrimson.setIcon(new ImageIcon("src/DG Keys/Corners/Crimson_corner_key.png"));
CornerCrimson.addMouseListener(new MyMouseListener(this));
制作你自己的鼠标,不要使用匿名版本。@Nozdrum你是什么意思?制作你自己的鼠标,不要使用匿名版本。@Nozdrum你是什么意思?