Внешний вид Java -как разорвать зависимость от sun.swing.SwingUtilities2

Я поддерживаю некоторый код, который реализует индивидуальный внешний вид в Java. Выполняя недавнее обновление версии Java (по другим причинам ), я обнаружил, что внешний вид не работает из-за поля, не найденного в

sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;

Это класс, тесно связанный с BasicMenuItemUI.layoutMenuItem()около Java 6u02 (. вот источник). Я обнаружил, что Oracle переработала -свой код, чтобы включить MenuItemLayoutHelperв новую целевую версию, которую я использую, Java 6u31.

Я мог бы просто использовать MenuItemLayoutHelper, но это не решает проблему, а просто откладывает ее до следующего изменения внутренних компонентов Java. Поэтому я отбросил это как решение.

Я после некоторых советов о том, как добиться макета слева направо, подобного BasicMenuItemUI, без необходимости знать максимальное смещение текста родителей (, удаляя плохую зависимость от sun.swing.SwingUtilities ).

18
задан Marek Sebera 5 September 2012 в 08:59
поделиться