Как использовать два обработчика событий одновременно с помощью javafx - PullRequest
0 голосов
/ 22 апреля 2020

Я довольно новичок в Java программировании, и я застрял.
В настоящее время я делаю игру-матдоку с использованием javafx, и я хочу, чтобы это произошло:
Когда я нажимаю на ячейку, цвет ячейки меняется, и тогда я могу набрать номер. Номер, который является изображением, затем отображается в ячейке.

Проблема в том, что я не знаю, как отобразить числовое изображение в ячейках. Я знаю, в коде я сделал их как отдельное событие.
Как я могу это сделать, (нажмите, затем я могу напечатать)

Извините за сложный вопрос

public class Cell extends StackPane{

    public Cell() throws FileNotFoundException {
// Pane which I put the number image on
Pane numPane = new Pane();
        numPane.setPrefSize(30, 30);
// A rectangle cell in the mathdoku grid
        Rectangle border = new Rectangle(74,74);
        border.setFill(Color.LIGHTGOLDENRODYELLOW);
        border.setStroke(Color.ORANGE);
        border.setStrokeWidth(3);
        setAlignment(Pos.CENTER);   

// Destination to the Image in my computer
        ImageView No0 = getNumber("");

// Mouse event to change the colour in the cell
EventHandler<MouseEvent>() {

            public void handle(MouseEvent click) {
                border.setFill(Color.PALEVIOLETRED);
                System.out.println("Clicked");
            }

        });
// Key Event to display the image at the cell when I type the number in
        border.setOnKeyPressed(new EventHandler<KeyEvent>() {

            public void handle(KeyEvent key) {
                if(key.getCode() == KeyCode.NUMPAD0) {
                    numPane.getChildren().add(No1);
                    getChildren().add(numPane);
                    setAlignment(Pos.BASELINE_CENTER);
                    System.out.println("Typed");
                }
            }
        });
...