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