Переключиться на визуальный дизайн с другого визуального дизайна

Я работаю в java me. Я создал два визуальных дизайна: First.java и Second.java, каждый из которых содержит отображаемые формы.

Я добавил команду Ok в форму в First.Java, и ожидается, что пользователь переключится на SecondForm в Second.java, но я получаю эту ошибку non-static method getSecondForm() cannot be referenced from a static context,

Как я могу это исправить?

Оба файла находятся в одном пакете. Вот исходный код

 public void commandAction (Command command, Displayable displayable) {

    if (displayable == firstForm) {

        if (command == exitCommand) {
            exitMIDlet();

        } else if (command == okCommand) {

            switchDisplayable(null, Second.getSecondForm());
        }
    }
 }

1 ответ

Решение

Вам нужно изменить объявление метода getSecondForm в Second.java, чтобы сделать его статичным.

Если это в настоящее время выглядит как

Displayable getSecondForm() //... whatever code is there

то после изменения должно выглядеть

static Displayable getSecondForm() //... whatever code is there

Примечание выше изменения исправит non-static method getSecondForm... ошибка, которую вы упомянули, но есть вероятность, что это приведет к новым ошибкам компиляции в файле Second.java, Вам нужно будет исправить эти новые ошибки, скорее всего, добавив пару static ключевые слова здесь и там, аналогично тому, как это показано выше.


Обратите внимание, что это базовый материал на языке Java; Если вы застряли, исправляя это, подумайте о том, чтобы сделать перерыв, чтобы изучить учебник для начинающих.

Другие вопросы по тегам