gpt4 book ai didi

java - 检查每个按钮的位置

转载 作者:太空宇宙 更新时间:2023-11-04 13:37:56 25 4
gpt4 key购买 nike

我有一个包含 81 个按钮的框架,假设所有按钮都没有名称,大小都相等,并且都是自动设置的。因此,当我单击一个时,我想知道单击了哪一个。如果我使用一个实现 MouseListener 的类并使用此方法

mouseClicked(MouseEvent e){
temp[0]= e.getX();
temp[1]= e.getY();
}

如何检查这些坐标?我是否必须为每个按钮设置其自己的位置才能做到这一点?

最佳答案

我相信这就是您正在寻找的。

    public static final int BUTTONS_WIDTH_COUNT = 9;
public static final int BUTTONS_HEIGHT_COUNT = 9;
public static final Button[][] BUTTONS = new Button[BUTTONS_WIDTH_COUNT][BUTTONS_HEIGHT_COUNT]
...

// I'll assume that the buttons are taking up the entire frame so no offsets are taken into account
frame.addMouseListener(
new MouseAdaptor() {
mouseClicked(MouseEvent e) {
// The X Y coordinates are relative to the component so
int frameWidth = frame.getBounds().getWidth();
int frameHeight = frame.getBounds().getHeight();

Button buttonClicked = buttons[e.getX()/(frameWidth/BUTTONS_WIDTH_COUNT)][e.getY()/(frameHeight/BUTTONS_HEIGHT_COUNT)];
}
}

编辑:实际上,将相同的 MouseAdaptor 分配给所有按钮并使用 e.getSource() 会好得多。了解监听器中正在调用哪个按钮。

关于java - 检查每个按钮的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31522406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com