Не удается добавить или удалить JRadioButton в JPanel после инициализации - Java

Я пытался динамически добавлять/удалять переключатели в/из JPanel и RadioGroup, но после инициализации это не работает. Макет JPanel установлен на Flow Layout. У меня есть следующий метод:

private void addButton(){
   JRadioButton jRadioButton = new JRadioButton("1");
   jPanel1.add(jRadioButton);
}

Если я вызову это после initComponents в моем конструкторе JFrame Form, он успешно добавит кнопку в JPanel. Если я использую JButton в форме, которая вызывает тот же метод при нажатии, ничего не происходит. Почему не добавляется больше кнопок с каждым кликом? Я также пытался удалить переключатели после инициализации, и это тоже не работает. Я должен упустить что-то очень простое?


person Steve W    schedule 17.02.2021    source источник
comment
Когда вопрос помечен как дубликат, я бы хотел, чтобы люди хотя бы ссылались на ответ, который предоставляет решение Swing. Принятый ответ указывает, что вы должны использовать validate(). Это метод AWT. Да, это будет работать большую часть времени. Но это вопрос Swing, и в Swing был добавлен revalidate(), и его следует использовать.   -  person camickr    schedule 17.02.2021
comment
Спасибо за замечание. Я обнаружил, что проверка работает, но теперь я изменил ее на повторную проверку на основе вашего комментария. Кстати, я пытался найти решение перед публикацией, но мне не повезло. Поиск в StackOverflow никогда не бывает таким простым. Я всегда гуглю, а затем выбираю результаты StackOverflow.   -  person Steve W    schedule 17.02.2021