gpt4 book ai didi

java - 使用 Nimbus 更改工具提示

转载 作者:行者123 更新时间:2023-12-01 04:40:26 26 4
gpt4 key购买 nike

我正在尝试全局更改工具提示的大小。

我正在使用:

UIManager.put("ToolTip.font", new Font("SansSerif",Font.PLAIN,25));

总体来说效果很好。但就我而言,我使用 Nimbus LaF 和以下代码:

    UIManager.LookAndFeelInfo plafinfo[] = UIManager.getInstalledLookAndFeels();
boolean LaFfound=false;
int LaFindex=0;

for (int look = 0; look < plafinfo.length && !LaFfound; look++)
{
if(plafinfo[look].getClassName().toLowerCase().contains("nimbus"))
{
LaFfound=true;
LaFindex=look;
}
}

try {
if(LaFfound) {
UIManager.setLookAndFeel(plafinfo[LaFindex].getClassName());
}
else {UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());}
}
catch(Exception e){Logger.getLogger(Fenetre.class.getName()).log(Level.SEVERE, null, e);}

//correct tooltips size
UIManager.put("ToolTip.font", new Font("SansSerif",Font.PLAIN,25));

在这种情况下,UIManager 似乎完全忽略了我的指令,就好像“ToolTip.font”不是 Nimbus LaF 中承认的属性一样...

但根据此页面:http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html该属性存在。

我的代码有什么问题吗?或者我怎样才能用其他方法解决这个问题?

非常感谢!

最佳答案

Nimbus 的工作方式似乎与其他 LAF 不同。在设置LAF之前需要先设置该属性:

UIManager.put("ToolTip.font", new Font("SansSerif",Font.PLAIN,25));

try
{
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
{
if ("Nimbus".equals(info.getName()))
{
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (Exception e)
{
// If Nimbus is not available, you can set the GUI to another look and feel.
}

对于其他 LAF,我相信您可以在创建该类型的第一个组件之前更改任何属性。

关于java - 使用 Nimbus 更改工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com