У меня проблема со старым приложением Java Swing, которое до сих пор работало на JRE8.Тем не менее, я испытываю проблему с отображением строки заголовка JInternalFrame, когда я создаю приложение с JDK11 (с уровнем соответствия Java 8) и запускаю его на JRE11.
Проблема заключается в том, как выглядит строка заголовкаJInternalFrame.В JRE8 все выглядит хорошо, однако в JRE11 строка заголовка меньше, а кнопки «закрыть», «развернуть» и «свернуть» несколько «сжаты».Также нет правильной границы вокруг всего кадра в JRE11, и похоже, что строка заголовка будет шире, чем сам кадр.
Я использую стандартный внешний вид системы и запускаю приложение в Windows 10.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Как это выглядит в JRE8:
И как это выглядит в JRE11:
Я попытался установить размеры строки заголовка с помощьюследующий код:
((javax.swing.plaf.basic.BasicInternalFrameUI) getUI()).getNorthPane().setPreferredSize(new Dimension(103, 33));
Но мне удается только увеличить строку заголовка - невозможно заставить кнопки min / max / close выглядеть правильно.
Я также пробовалчтобы сравнить UIManager.defaults () между 8 и 11, но в отношении свойств InternalFrame. * они, похоже, имеют одинаковые значения для обоих выпусков Java.
У кого-нибудь есть идеи по этому вопросу?