私はjavaFxを初めて使用しています。私はグリドルのようなゲームを作りたいと思っています。 最初にやりたいことは、イベント処理の仕組みを理解することです。JavaFxと同時に複数のイベントを処理する
私は矩形の単純なボードを作成し、各矩形にMouseEventを付け、イベントハンドラーiv'eを作成しました。 イベントがMouseEnterで左マウスが既に押されている場合は、現在の矩形を赤で塗りつぶします。
私はそれはかなり基本的であるべきと思ったが、私はこれを実装したときに、私はマウスだけは、この
..押すと、私はクリックして、私は、マウスの左クリックを閉じたときにマウスが最後の長方形に入る最初の四角形を入力しますイベントハンドラクラスです:public void handle(MouseEvent event) {
if(event.getEventType().equals(MouseEvent.MOUSE_PRESSED)) {
System.out.println("Pressed on " + row + ", " + col);
} else if (event.getEventType().equals(MouseEvent.MOUSE_ENTERED)) {
System.out.println("Entered " + row + ", " + col);
}
}
は、私は、イベントを添付する場所です:
private void addRectangles() {
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
Rectangle rectangle = new Rectangle(col * CELL_SIZE, row * CELL_SIZE, CELL_SIZE, CELL_SIZE);
rectangle.setStroke(Color.WHITE);
rectangle.addEventHandler(MouseEvent.ANY, new ShapeColorChanger(row, col, rectangle));
getChildren().add(rectangle);
}
}
}
だから、私は0,0とDRAに四角形を押していた場合(0,1と0,2で四角形の上に行っている間)私はこの出力を得る0,3を矩形にマウスをgging:
は、0で押さ0
を0に参入、0
は0を入力しました、3
のコントローラのバージョンである、あなたは何を意味するのですか?私もMouseEvent.PressedとMouseEvent.Enteredに分割しようとしましたが、同じ結果が得られました – TalOhana
これはあなたが必要とするものです。 http://www.java2s.com/Code/Java/JavaFX/Listentoallmouseevents.htm – Sedrick