Java 如何在一个swing应用程序中拥有多个外观

Java 如何在一个swing应用程序中拥有多个外观,java,swing,look-and-feel,jeditorpane,nimbus,Java,Swing,Look And Feel,Jeditorpane,Nimbus,我正在Swing项目中使用Nimbus外观和感觉 它在项目中显示了出色的外观,但在应用Nimbus look and feel时,JEditorPane没有显示正确的字体格式 那么,是否可以为单个应用程序提供多种外观?默认情况下,项目采用主屏幕上应用的外观。它能在项目执行之间改变外观吗?您的建议在技术上是可行的,但对于任何行为良好的UI委托实现所使用的封装最为良好的默认值,这种方法都是脆弱的。在这里,会显示一个借用的JTree图标。对于您的应用程序,相关的键是“EditorPane.font”。

我正在Swing项目中使用Nimbus外观和感觉

它在项目中显示了出色的外观,但在应用Nimbus look and feel时,
JEditorPane
没有显示正确的字体格式


那么,是否可以为单个应用程序提供多种外观?默认情况下,项目采用主屏幕上应用的外观。它能在项目执行之间改变外观吗?

您的建议在技术上是可行的,但对于任何行为良好的UI委托实现所使用的封装最为良好的默认值,这种方法都是脆弱的。在这里,会显示一个借用的
JTree
图标。对于您的应用程序,相关的键是“EditorPane.font”。如果您更改了它,请记住以下几点:

  • 与物理字体相比,更喜欢逻辑字体系列,例如
    font.SANS\u SERIF
    font。对话框

  • 考虑使用
    deriveFont()
    方法更改现有默认值

  • 在目标平台上进行广泛测试

  • 尽可能考虑另一种方法


您的建议在技术上是可行的,但对于行为良好的UI委托实现所使用的封装最为良好的默认值,这种方法是脆弱的。在这里,会显示一个借用的
JTree
图标。对于您的应用程序,相关的键是“EditorPane.font”。如果您更改了它,请记住以下几点:

  • 与物理字体相比,更喜欢逻辑字体系列,例如
    font.SANS\u SERIF
    font。对话框

  • 考虑使用
    deriveFont()
    方法更改现有默认值

  • 在目标平台上进行广泛测试

  • 尽可能考虑另一种方法


可能重复:您所说的“未显示正确的字体格式”是什么意思?你能举个例子吗?我正在jeditorpane中显示html文件,JedtorPane中的字体与原始html中的字体不一样files@adeshsingh您尝试过不同的外观吗?是的,这是可能的,为了更好地帮助您,请尽快发布一个简短、可运行、可编译的,大约是
JFrame
JEditorPane
,具有
JEditorPane
s内容的硬编码值可能重复:您所说的“未显示正确的字体格式”是什么意思?你能举个例子吗?我正在jeditorpane中显示html文件,JedtorPane中的字体与原始html中的字体不一样files@adeshsingh您尝试过不同的外观吗?是的,这是可能的,为了更好地帮助您,请尽快发布一个简短、可运行、可编译的,大约是
JFrame
JEditorPane
,具有
JEditorPane
s content+1的硬编码值,但我可以看到另一个问题,不确定是什么问题(使用Java中的Html样式、版本和支持)我在jeditorpane中显示html文件,JedtorPane中的字体与原始html文件中的字体不同@mKorbel:啊,说得好,谢谢你的评论;对HTML的支持是有限的,字体因平台而异。也许adesh singh可以编辑这个问题来澄清。+1但我可以看到另一个问题,不确定
的操作含义是什么(使用Java中的Html样式、版本和支持)我在jeditorpane中显示Html文件JedtorPane中的字体与原始Html文件中的字体不一样,谢谢你的评论;对HTML的支持是有限的,字体因平台而异。也许阿德什·辛格可以编辑这个问题来澄清。