У меня проблема при попытке изменить размер JLabel. В моем приложении появится следующий strucutre. Понять каждый элемент списка, как что-то внутри предыдущего элемента списка.Изменить предпочтительный размер JLabel после setVisible JFrame
JFrame (Layout null, фиксированный размер, не изменяет размер, используется разными людьми).
JPanel (Layout null, с размером всего окна, место, где я поместил свою работу).
различные JPanel с различными макетами (области содержимого внутри основной панели, вы можете думать об этом как html divs ...).
Внутри одного из этих «divs» с макетом null существуют расширенные классы JPanel с компоновкой потока.
Внутри каждого из этих расширенных классов есть метки с предпочтительными размерами.
Дело в том, что после создания всего этого я вызываю theFrame.setVisible (true); и все работает должным образом.
Но в момент подачи моего приложения я должен изменить размер одной из меток. Затем я просто вызываю label.setPreferredSize (d), и изменение не изменяется. Функция работает эффективно, если я вызываю ее перед тем, как установить видимый кадр, но не после.
У меня такое ощущение, что проблема в том, что я не использую ничего подобного pack(), validate(), repaint() и т. Д. Потому что я не знаю, что это работает. Я пытаюсь перерисовать вызов и проверять jlabel и перерисовывать основную панель, но не работает.
Я относительно новый, с awt и swing, и это для домашней работы. Извините за мое плохое использование английского языка, и спасибо за вашу помощь.
Очень благодарю вас. Это работает. Благодарим вас за разъяснение относительно использования revalidate. – davidgnin