bricht Ich behalte Code, der implementiert ein angepasstes Aussehen und Verhalten in Java. Während kürzlich eine Aktualisierung von Java-Version zu tun (aus anderen Gründen) fand ich, dass das Look and Feel aufgrund eines Feld brachen nicht aufJava Look and Feel - wie man eine Abhängigkeit von sun.swing.SwingUtilities2
sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;
gefunden Dies ist in einer Klasse, die eng auf BasicMenuItemUI.layoutMenuItem()
circa Java 6u02 basiert (here's the source). Ich habe festgestellt, dass Oracle ihren Code um eine MenuItemLayoutHelper
in der neuen Zielversion, die ich verwende, Java 6u31 enthalten.
Ich könnte einfach die MenuItemLayoutHelper
verwenden, aber das löst das Problem nicht, es verschiebt es einfach bis zum nächsten Mal die Java-Interna geändert werden. Daher habe ich dies als eine Lösung abgetan.
Ich bin nach einigen Ratschlägen, wie man ein Links-nach-rechts-Layout ähnlich wie BasicMenuItemUI
erreichen kann, ohne die maximale Textverschiebung der Eltern kennen zu müssen (die schlechte Abhängigkeit von sun.swing.SwingUtilities zu entfernen).
wahrscheinlich keine Option, um die Person, die diese Abhängigkeit eingeführt hat, in einen Raum sperren, bis alles behoben ist :-) Am Ende des Tages gibt es nicht viel zu tun ... außer ... Husten .. c & p, ehh, ich meine, schauen Sie sich den Sun-Code an und implementieren Sie eine überarbeitete Version. – kleopatra
@kleopatra Meine Mutter warnte mich ** nicht ** "in die Sonne zu schauen". (Musen) Sie hat nicht erwähnt, "Code" obwohl .. –
Autsch ... Dies ist das Aushängeschild für Build Time Code Standards Durchsetzung. – Gus