2016-10-02 3 views
1

В настоящее время я работаю над созданием своего первого приложения. :) Теперь я закодировал несколько Форм, каждый в своем классе. Теперь я хочу реализовать навигацию из одной формы в другую, это довольно прямолинейно, так как всегда есть только одна «следующая» форма для каждой формы.Codename one actionlistener не работает

Итак, я попытался сделать это, добавив форму «nextForm» для каждого класса, и я хочу, чтобы nextForm.show() каждый раз при нажатии «следующей» кнопки. Я пробовал это так:

login = new Button("Login"); 
    login.setUIID("nxtButtons"); 
    login.addActionListener((e) -> 
      nextForm.show() 
    ); 

Итак, когда я на самом деле нажимаю кнопку, ничего не происходит.

Я пытаюсь сделать это хорошим способом? Это первый раз, когда я направляюсь в здание GUI, и у меня пока нет опыта. Может быть, один из вас, ребята могли бы помочь мне здесь :)

Большое спасибо

С наилучшими пожеланиями,

Макс

+1

Я рекомендую вам использовать несколько панелей над формами. –

+0

Как говорит @NikolasCharalambidis, и, как согласны все эксперты Swing, не бросайте кучу JFrames на пользователя, так как им не понравится этот дизайн. Вместо этого меняйте представления. См.: [Использование нескольких JFrames, Хорошая/Плохая Практика?] (Http://stackoverflow.com/questions/9554636) –

+0

Привет, я говорю здесь о Codename One Stuff, я не использую качели. –

ответ

1

Я предполагаю, что nextForm является null, и вы должны увидеть исключения нулевого указателя в консоли где-то.

Если нет, то nextForm может указывать на текущую форму, которая ничего не сделает. Вы можете поместить точку разрыва в эту строку в отладчике и увидеть, что точка разрыва достигнута, а затем проверить значения переменных.

+0

Моя ошибка, инициализирована кнопка дважды, которая перезаписала функцию. :) –