gpt4 book ai didi

java - 如何获取JButton的(x,y)坐标

转载 作者:行者123 更新时间:2023-12-01 18:41:57 24 4
gpt4 key购买 nike

有没有一种方法可以获取 Jbutton 的 (x,y) 格式的坐标,类似于 pt.distance() 方法。 jbutton 使用 setLayout(null) 和 setBounds(x,y,0,0)。如何比较 pt.distance() 和 Jbutton(x,y) 的结果?

最后,(x,y)是如何计算的?

 Point pt = evt.getPoint();
double u = pt.distance((double)x,(double)y);
double k = st1.getAlignmentX();
double p = st1.getAlignmentY();
if(u > ){ // u has to be measured to (x,y) value of jbutton
tim.setDelay(500);
}
if(u < ){
tim.setDelay(100);
}

最佳答案

如果通过 pt.distance(),您引用的是 Point2D.distance() 方法,那么您可以像这样继续:

Point location = button.getLocation(); // where button is your JButton object
double distance = pt.distance(location); // where pt is your Point2D object

或者:

double distance = pt.distance(button.getX(), button.getY());

Point 将包含按钮的 x 和 y 坐标。如果您不使用布局,这些值将是您设置的值。但如果您使用布局,则父级的 LayoutManager 负责计算值。

响应您的编辑:我不明白你想做什么。在 JButton 上调用 setLayout(null) 不会让您设置按钮的坐标,只能设置它的子按钮的坐标。我认为这就是您想要实现的目标:

Point pt = evt.getPoint();
double distance = pt.distance(button);
int someLength = 100; // the distance away from the button the point has to be to decide the length of the delay

if (distance < someLength) {
tim.setDelay(500);
} else {
tim.setDelay(100);
}

关于java - 如何获取JButton的(x,y)坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614788/

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