如何在Java中检查JPanel中像素的颜色?

如何在Java中检查JPanel中像素的颜色?,java,swing,colors,jpanel,pixel,Java,Swing,Colors,Jpanel,Pixel,我试图用Java编写一个代码,根据单击的位置更改圆的颜色,以及一些if/else语句来更改圆的颜色,以及查看屏幕顶部的任何圆是否使用除白色以外的其他颜色着色。我有确定要检查的像素的语句,以及改变像素所指的圆圈的颜色,我只需要一点代码来检查像素是什么颜色。我使用JPanel作为创建GUI的基础,但我不知道如何检查像素的颜色 我认为代码应该是什么样子: X=e.getX(); Y=e.getY(); if((X,Y)!=(Color.White)){ Y=Y+100; } els

我试图用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添加鼠标侦听器,以获得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();
        }
    }
});
还有其他方法可以实现这一点,但这是最简单的