我正试图用Java编写一段代码,根据点击的位置更改圆圈的颜色,以及一些if/else语句来更改圆圈的色彩,以及查看屏幕顶部的任何圆圈是否使用了除白色之外的其他颜色。我有识别要检查的像素的语句,以及更改像素所指的圆圈的颜色,我只需要一点代码来检查像素是什么颜色。我使用JPanel作为创建GUI的基础,但我不知道如何检查像素的颜色。
我认为代码会是什么样子:
X=e.getX();
Y=e.getY();
if((X,Y)!=(Color.White)){
Y=Y+100;
}
else{
g2.fillOval(X,Y,30,30);
}
我写的代码已经确定了像素所指的圆圈的填充颜色
您需要为JPanel添加一个MouseListener,以便获得X&Y鼠标指针的位置,然后使用Robot类,您可以获得该特定位置的像素颜色,例如:
jPanel1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent evt) {
int x = evt.getX()
int y = evt.getY();
try {
// The the pixel color at location x, y
Color color = new Robot().getPixelColor(x, y);
// Display the RGB information of the pixel color in Console Window
System.out.println("Red = " + color.getRed());
System.out.println("Green = " + color.getGreen());
System.out.println("Blue = " + color.getBlue());
}
catch (AWTException e) {
e.printStackTrace();
}
}
});
还有其他方法可以做到这一点,但这是最简单的。