Нажатие кнопки в окне приложения

124
20 сентября 2019, 02:30

Подскажите библиотеку на Jave для нажатия кнопки или клик в окне. Например имеется калькулятор,и необходимо нажать кнопку 1 и кликнуть на плюс. Буду особо благодарен за пример любого кода по этому вопросу. Спасибо

Answer 1

Рекомендую использовать JavaFX, вам необходимо вешать "слушателей" на клавиатуру и все, тут пример простой программы без графического интерфейса, но есть "слушатели", как по мне хороший и простой пример, а пример с наглядным GUI на библиотеке JavaFX в интернете очень много. Удачи.

import java.util.HashMap;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
/**
 *
 * @author Nicholas White
 */
public class KeyBoard extends Application {
    private HashMap<KeyCode, Boolean> keys = new HashMap<>();
    public void writeKeyCode(){
        if(isPressed(KeyCode.UP)){
            System.out.println("UP");
        } else if(isPressed(KeyCode.DOWN)){
            System.out.println("DOWN");
        } else if(isPressed(KeyCode.LEFT)){
            System.out.println("LEFT");
        } else if(isPressed(KeyCode.RIGHT)){
            System.out.println("RIGHT");
        }
    }
    public boolean isPressed(KeyCode key){
        return keys.getOrDefault(key, false);
    }
    public static void main(String[] args) {
        launch();
    }
    @Override
    public void start(Stage primaryStage) throws Exception {
        Pane root = new Pane();
        Scene scene = new Scene(root, 400, 400);
        scene.setOnKeyPressed(event -> {
            keys.put(event.getCode(), true);
            writeKeyCode();
        });
        scene.setOnKeyReleased(event -> {
            keys.put(event.getCode(), false);
        });

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}
READ ALSO
Безопасно ли приведение типа Set к List? [закрыт]

Безопасно ли приведение типа Set к List? [закрыт]

Компилятор не жалуется абсолютно, но все же интересно

106
Не правильно читает дату из базы данных

Не правильно читает дату из базы данных

На JAVA написан школьный журнал там есть фио, дата, предмет, оценкаВсе данные от берет базы данных SQL, но только дату он не так отображает вообще...

141
Прозрачный текст с белым бордером

Прозрачный текст с белым бордером

Каким образом достичь данного результата?

121
Как нарисовать линию и чтоб вторая начиналась в середине первой?

Как нарисовать линию и чтоб вторая начиналась в середине первой?

В итоге мы должны иметь три координаты которые можно изменять и одну фиксированную в середине первой линииМой код может только рисовать...

100