我已经设法使用 UIManager 制作半透明工具提示并使用 4 个参数创建颜色:
UIManager.put("ToolTip.background",new Color(0x40,0x51,0x67,0x40));
但是有一个问题——嗯,实际上有两个问题:出现在屏幕上的第一个工具提示总是忽略透明度,而且——不幸的是——窗口框架之外的工具提示也是如此。据我所知(并从我能找到的唯一一条信息来看),这是因为一些工具提示是重量级的而不是轻量级的,这就是为什么他们出于某种原因忽略了我的颜色设置。虽然我可以设法让工具提示的东西离边界足够远,但这似乎是解决这个问题的一种廉价方法,并且由于某种原因它仍然不能覆盖第一个显示为白色的工具提示。
所以,一个无知的新手问:有没有一种简单的方法可以让重量级工具提示透明,而不需要让我自己的类扩展 PopupFactory 和 Popup?如果没有,如果我决定创建新类并将默认 PopupFactory 替换为:
PopupFactory.setSharedInstance(new MyPopupFactory());
此外,出于纯粹的好奇心,因为它涉及工具提示:为什么会这样......
UIManager.put("ToolTip.background",new Color(0x40,0x51,0x67);
...替换 ToolTip.background 和 ToolTip.backgroundInactive,而当我使用 ColorUIResource 时,我必须编写两个单独的命令:
UIManager.put("ToolTip.background",new ColorUIResource(0x60,0x6a,0x76));
UIManager.put("ToolTip.backgroundInactive",new ColorUIResource(0x60,0x6a,0x76));
我知道我的问题可能有点混乱,但任何建议都将不胜感激。