特定の領域をクリックして色を選択しようとすると問題が発生します。 エリアをクリックするとクリックに反応しないことがあり、別の色を選択すると以前の色と現在の色が繰り返されます。Javaペイントプログラム。フレーム領域マウスのプレスに関する問題
@Override
public void mousePressed(MouseEvent e) {
/*
* Selecting color
*/
if(e.getX()>0 && e.getX()<(cwidth) && e.getY()>1 && e.getY()<panelHeight){
c=Color.BLACK;
System.out.println("BLACK");
}
if(e.getX()>(cwidth) && x1< (cwidth*2) && e.getY()>1 && e.getY()<panelHeight){
c=Color.RED;
System.out.println("RED");
}
if(e.getX()>(cwidth*2) && x1< (cwidth*3) && e.getY()>1 && e.getY()< panelHeight){
c=Color.GREEN;
System.out.println("GREEN");
}
if(e.getX()>(cwidth*3) && x1< (cwidth*4) && e.getY()>1 && e.getY()<panelHeight){
c=Color.BLUE;
System.out.println("BLUE");
}
どうすればこの問題を解決できますか?私は、クラスレベルの変数を使ってセルの幅を計算し、不注意なエラーを排除しました。コンソールのカラーメッセージをデバッグすると、ダブルクリックや別の色をクリックするのを待つのではなく、マウスを押したときに新しい色に切り替わらない理由が分かりません。フルPaintPanel.javaのソースコードへ
リンク:
PaintPanel.java - http://pastebin.com/7pay4Paz
問題を解決できましたか? – ItamarG3