我正在维护一些代码,实现Java中的自定义外观.在最近升级Java版本时(出于其他原因)我发现由于找不到字段而导致外观破损
sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;
Run Code Online (Sandbox Code Playgroud)
这是一个紧密基于BasicMenuItemUI.layoutMenuItem()Java 6u02(这里是源代码)的类.我发现Oracle已经重新考虑了他们的代码,以便MenuItemLayoutHelper在我使用的新目标版本中包含一个Java 6u31.
我可以使用MenuItemLayoutHelper但是这并没有解决问题它只是把它关闭,直到下一次更改Java内部.因此,我已将此作为一种解决方案.
我正在建议如何实现从左到右的布局,类似于BasicMenuItemUI不需要知道父母的最大文本偏移量(删除对sun.swing.SwingUtilities的不良依赖).