Переключиться на визуальный дизайн с другого визуального дизайна
Я работаю в 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; Если вы застряли, исправляя это, подумайте о том, чтобы сделать перерыв, чтобы изучить учебник для начинающих.