Я хочу показать один JLabel
и один JComboBox
, когда в предыдущем кадре выбран один из RadioButton
, иначе он должен быть скрыт. Даже когда я реализую ComponentListener
в этом классе, его абстрактные методы (componentShown()
, componentHidden()
) никогда не называются.Можно ли вызвать метод componentShown() из класса, который расширяет JFrame вместо JPanel? Если да, то как?
2
A
ответ
0
Я думаю, что ваша проблема может быть решена довольно легко, даже не попав в эти обработчики событий. Просто передайте переменную из вашего исходного фрейма, когда выбран RadioButton, в новый фрейм (возможно, логическая переменная с истинным значением). Затем, в вашей новой славе, просто покажите компоненты, основанные на значении этой переменной.
Надеюсь, вы сможете справиться с передачей переменных, обработав параметры конструктора вашего нового фрейма.
Надеюсь, это поможет! Любые разъяснения, пожалуйста, прокомментируйте.
Просьба ознакомиться с http://sscce.org/ first – vels4j
. Этот вопрос не имеет особого смысла. Методы реализации не подразумевают, что они называются автоматически во время выполнения :-) Пожалуйста, прочитайте и поймите главу о EventListeners в учебник по качанию, указанный в вики-ярлыке swing. Если вы все еще сталкиваетесь с проблемами, вернитесь с помощью SSCCE (как уже было предложено, не может повторяться достаточно часто) – kleopatra
Если бы вы попытались [Component.isShowing()] (http://docs.oracle.com/javase /7/docs/api/java/awt/Component.html#isShowing())? Мне кажется, вам нужен этот метод, а не тот, с которым вы играете :-) –