Estoy manteniendo un poco de código para implementar un Look and Feel personalizado en Java. Mientras se hace una actualización reciente de la versión de Java (por otras razones) me encontré con que la apariencia se rompió debido a un campo que no se encuentra enaspecto de Java: cómo romper una dependencia en sun.swing.SwingUtilities2
sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;
Se trata de una clase que se basa estrechamente en BasicMenuItemUI.layoutMenuItem()
alrededor de Java 6u02 (here's the source). He encontrado 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 simplemente usar el MenuItemLayoutHelper
pero eso no resuelve el problema, solo lo apaga hasta la próxima vez que se cambien las partes internas de Java. Por lo tanto, he descartado esto como una solución.
Estoy buscando algunos consejos sobre cómo lograr un diseño de izquierda a derecha similar a BasicMenuItemUI
sin necesidad de conocer el desplazamiento de texto máximo de los padres (eliminando la mala dependencia de sun.swing.SwingUtilities).
probablemente no sea una opción para agarrar a la persona que introdujo esa dependencia, encerrarla en una habitación hasta que todo esté arreglado :-) Al final del día, no hay mucho que hacer ... excepto ... tos .. c & p, ehh, me refiero a mirar el código de sol e implementar una versión refactorizada. – kleopatra
@kleopatra Mi madre me advirtió ** no ** para "mirar el sol". (musas) Sin embargo, ella no mencionó el "código". –
Ouch ... este es el hijo del póster para el cumplimiento de los estándares del código de tiempo de compilación. – Gus