Newmo
@Newmo

Как использовать non-static метод в статическом классе?

Пишу простой плеер, по кнопке f2 воспроизводится аудиозапись. Вынужден был воспользоваться библиотекой jNativeHook для захвата педали, дабы вне активного окна пользователь мог печатать. Столкнулся с проблемой:
Не могу изменить Label при нажатии на педаль. (java: non-static method play() cannot be referenced from a static context)

с Java не очень знаком, но в общем то программа почти закончена, вот застопорился на такой вот мелочи. В данном Label я хочу отобразить время с которого пользователь продолжил воспроизведение.

Отслеживаю нажатую педаль в Main:
public static class GlobalKeyListenerExample implements NativeKeyListener {
        //Если кнопка нажата
        public void nativeKeyPressed(NativeKeyEvent e) {
        GlobalScreen.unregisterNativeHook();
            //Проверяем нажатие кнопки f2
            if (e.getKeyCode() == NativeKeyEvent.VC_F2) {
                //System.out.println("Зажата");
                Controller.mediaPlayer.play();
                Controller.startonpause.setText("Здесь должен быть таймер");
            }
        }


Подскажите, как можно выполнить данный код:
Controller.startonpause.setText("Здесь должен быть таймер");


А может и вовсе сразу метод в Controller.java из Main:
@FXML
    public void play() {
        mediaPlayer.play();
        Здесь изменить Label в FXML
    }
  • Вопрос задан
  • 3494 просмотра
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Как использовать non-static метод в статическом классе?

Вызывать его через экземпляр класса, которому метод принадлежит.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы