Как я могу написать логику для изменения окон в приложении Swing? - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть JFrame, который содержит JTabbedPane, который имеет две вкладки и Button. Первая панель состоит из серии JRadioButton s, а вторая - из JTextField.

Я хочу, чтобы кнопка переходила к следующему кадру, только если

  1. панель с вкладками 1 и выбран один из переключателей, или
  2. панель с вкладками 2 выбрана и имеет непустое текстовое поле

Я реализовал функциональность, чтобы перейти на следующую страницу. Как я могу проверить свои условия?

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Используйте метод getSelectedIndex () панели вкладок, чтобы определить, какая вкладка выбрана в данный момент.Используйте метод getSelectedComponent () , чтобы получить компонент, который выбран в данный момент.

Как только у вас есть выбранный компонент, это зависит от того, как вы структурируете компоненты, такие как переключатели и т. Д.и определите, выбраны они или нет.

Если у вас есть текстовое поле с именем JTextField, то вы можете:

  if(textfield.getText().trim().equals("")){
         //nothing was entered
  }

, чтобы определить, был ли введен какой-либо текст.

Для переключателя используйте метод isSelected () , чтобы определить, был ли он выбран или нет.

1 голос
/ 13 апреля 2011

Добавьте логику к кнопке, чтобы определить выбранную вкладку, и проверьте текстовое поле или переключатель.Переходите на следующую страницу только в том случае, если ваши критерии удовлетворены.

Возможно, вы даже захотите создать интерфейс, который будет реализован компонентом вкладки, который будет сообщать true / false, если внутренние компоненты действительны / недействительны.

...