java - tattoo - nimbus look and feel
Java Look and feel-cómo romper una dependencia en sun.swing.SwingUtilities2 (2)
Como dijo Albfan, no puedes. O tiene que depender del código, copiar la clase y usarlo en su programa, no usarlo en absoluto y usar una biblioteca de terceros, o no usar esa función.
Estoy manteniendo algún código para implementar un aspecto personalizado en Java. Mientras realizaba una actualización reciente de la versión de Java (por otras razones), encontré que Look and feel break se debe a un campo que no se encuentra en
sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;
Esto está en una clase que está estrechamente basada en BasicMenuItemUI.layoutMenuItem()
circa Java 6u02 ( aquí está la fuente ). Descubrí que Oracle ha vuelto a factorizar su código para incluir un MenuItemLayoutHelper
en la nueva versión de destino que estoy usando, Java 6u31.
Podría usar MenuItemLayoutHelper
pero eso no resuelve el problema, solo lo apaga hasta la próxima vez que se cambien las funciones internas de Java. Por lo tanto, he descartado esto como una solución.
Busco un consejo sobre cómo lograr un diseño de izquierda a derecha similar a BasicMenuItemUI
sin necesidad de conocer el desplazamiento máximo del texto de los padres (eliminando la dependencia errónea de sun.swing.SwingUtilities).
Ok, puede haber pasado un tiempo, pero me di cuenta de que podía usar mi propia constante en lugar de sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET siempre y cuando se usara de forma consistente en el código infractor. De ninguna manera una solución ideal.
Al alza, las malas importaciones desde paquetes de sol se han introducido en las comprobaciones de la regla de codificación.