1

私はしばらくプログラミングをしていないので、これに対する答えがかなり些細なものであるなら、私を許してください。私のアプリケーションの目標は、フレームに表示した画像からRGB値を取得することです。ここで、(x、y)座標はマウスリスナーによって指定されますが、イベントハンドラーにいるときは、 x、y値であり、BufferedImageではありません。ヘルプ!私は何時間も立ち往生しています!

MouseHandlerクラスのコード:

    public void mouseClicked (MouseEvent e)
{
    int x = e.getX();
    int y = e.getY();
    System.out.printf("You clicked at: %d,%d\n", x, y);
}

アプリケーションクラスのコード:

    public static void main(String args[]) 
{
    String file_name = args[0];

    BufferedImage image = readImage2(file_name);
    Frame frame = createFrame(file_name);

    //somehow get x,y from listener;
    //int RGB = image.getRGB(x,y);
}
4

1 に答える 1

1

クラスBufferedImageを作成するときに一緒に送信することをお勧めします。MouseHandler

public class MouseHandler implents MouseListener {

  private BufferedImage image;

  public MouseHandler(BufferedImage image) {
    this.image = image;
  }
  public void mouseClicked (MouseEvent e) {
    int x = e.getX();
    int y = e.getY();
    System.out.printf("You clicked at: %d,%d\n", x, y);
    System.out.printf("Color is: %d", image.getRGB(x, y));
  }
  ...
}
于 2012-07-15T14:37:41.870 に答える