我以前从未对 UI 做过任何事情,我的任务是更改我们的内部框架标题。我们正在使用 Nimbus L&F,在我们的 UI 管理器中我已经尝试过
UIManager.put("InternalFrameTitlePane.background", Color.RED);
只是为了尝试改变一些东西。这对我不起作用,我在某处找到了另一篇关于使用 BasicInternalFrameTitlePane 创建 UI 的帖子,所以我现在有了以下代码:
public class CFrameTitleUI extends BasicInternalFrameTitlePane {
public CFrameTitleUI(JInternalFrame f)
{
super(f);
}
@Override
public void paintTitleBackground(Graphics g)
{
g.setColor(Color.RED);
g.fillRect(0, 0, getWidth(), getHeight());
}
}
但现在我有了这个,我不知道该怎么办。我尝试使用它的setUI()
方法在内部框架中设置 UI,但这是它的标题栏,所以我确定那是错误的。我接下来尝试了
UIManager.put("InternalFrameTitlePane.background", CFrameTitleUI.getClass().getName());
和
UIManager.put("InternalFrameTitlePane", CFrameTitleUI.getClass().getName());
但什么都没有。我需要以某种方式将它绑回灵气 L&F 吗?我们设置的一些东西说"nimbusSelection"
等等。
主要问题是我是否正确地为内部框架标题创建自定义 UI 以及如何应用它,谢谢。