gpt4 book ai didi

java - 当鼠标使用 Graphics2D 移动时,如何显示 X 和 Y 鼠标位置?

转载 作者:行者123 更新时间:2023-12-02 00:10:06 26 4
gpt4 key购买 nike

当鼠标使用 Graphics2D 移动时,如何显示 X 和 Y 鼠标位置?

我试图在鼠标移动时显示坐标,但我可以使用System.out.println来实现,我想使用drawString.join("", 10, 5).

那我怎样才能达到这个目标呢?

*这就是我所做的

public class Bell2 extends JPanel {
static JFrame frame=new JFrame();


public Bell() {

}

public void paint(Graphics g){
Graphics2D g2=(Graphics2D)g;
g2.setColor(Color.yellow);
//Here's where I struggle
g2.drawString.join ("mouseX, mouseY, C");


}
public static void main(String[] args) {

frame.setSize(500,300);
frame.setLocation(300,200);
frame.setVisible(true);
frame.setBackground(Color.black);

Robot robot = null;
try {
robot = new Robot();
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Color c = robot.getPixelColor(456,141);


double mouseY=1.0;
double mouseX=1.0;
while(mouseX !=0 || mouseY !=0) {

mouseX = MouseInfo.getPointerInfo().getLocation().getX();
mouseY = MouseInfo.getPointerInfo().getLocation().getY();

System.out.println("x: "+mouseX+" y: "+mouseY+" c: "+c);

}

}

}

最佳答案

不确定这是否正是您正在寻找的,但是,如果您想与原始示例保持相当接近,您也可以考虑这样做:

    public static void main(String[] args) {
frame.setSize(500,300);
frame.setLocation(300,200);
frame.setVisible(true);
frame.setBackground(Color.black);

try {
final Robot robot = new Robot();
handleMouse(robot);
} catch (final AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private static void handleMouse(final Robot robot) {
int mouseX = 1;
int mouseY = 1;
while (mouseX !=0 || mouseY !=0) {
final Point mouseLocation = MouseInfo.getPointerInfo().getLocation();
mouseX = mouseLocation.x;
mouseY = mouseLocation.y;
final Color currentColor = robot.getPixelColor(mouseX, mouseY);
System.out.println(String.format("x: %d, y: %d, c: %s", mouseX, mouseY, currentColor));
}
}

请注意 currentColor 每次都会更新 mouseXmouseY是;您的原始代码片段中并非如此。

如果您在终端上观看输出,需要注意的另一件事是,只有 mouseX 时颜色才会出现变化。和mouseY保持 <= 255;超出该值,您可能只会看到以下输出:

java.awt.Color[r=255,g=255,b=255]

关于java - 当鼠标使用 Graphics2D 移动时,如何显示 X 和 Y 鼠标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58126645/

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