【问题标题】:Greek/latin scientific JLabel in Java Swing applicationJava Swing 应用程序中的希腊语/拉丁语科学 JLabel
【发布时间】:2011-02-17 13:45:14
【问题描述】:

对于科学应用程序,我想设计一个输入表单,让用户输入某些参数。其中一些使用希腊字母指定,其中一些使用拉丁字母。参数名称应使用普通的JLabel 控件显示。

在 Windows 上,Tahoma 字体(默认情况下用于标签)包含拉丁字母和希腊字母,因此我只需将标签的 Text 属性设置为希腊(unicode)字符串和一切正常。

我想知道这是否也适用于 Linux 和 OSX 系统上的修改。这适用于哪些 Java/OS 版本。

我也很好奇是否有一种简单的方法可以在标签中显示下标(TeX 中的“\eta_0”),但这对我的应用程序来说并不重要......

【问题讨论】:

  • 你总是可以发布一个小测试程序。这样人们就可以确认它是否适用于他们的 JDK/JRE。

标签: java swing unicode internationalization jlabel


【解决方案1】:

@Gunslinger47 的回答是肯定的,但您也可以在各种目标平台上查看此game。它显示来自多个 Unicode 字符代码图表的字形,包括希腊语。

enum GlyphSet {

    ASCII(0x0021, 0x007E), Greek(0x0370, 0x03FF), Letters(0x2100, 0x214F),
    Operators(0x2200, 0x22FF), Miscellany(0x2300, 0x23FF), Borders(0x2500, 0x257F),
    Symbols(0x2600, 0x26FF), Dingbats(0x2700, 0x27BF), Arrows(0x2900, 0x297F);
    ...
}

【讨论】:

    【解决方案2】:

    我毫不怀疑绝大多数 Unicode 字体都包含希腊语块。

    适用于所有平台,适用于所有语言环境。

    当缺少 Unicode 块时,这是出于节省空间的考虑。与数千个东亚字符相比,希腊语块中的 50 个左右的字符微不足道(顺便说一句,我的最后一个 Linux 桌面实际上包含这些字符)。

    说到花哨的 Unicode:http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

    当然,尽管您或我可能有任何信心,但在部署之前,您应该在尽可能多的配置上测试您的应用程序。 Java 尽了最大努力,但在实践中我总是发现一些需要 tweeking 的东西。

    【讨论】:

    • 感谢您的回答,我会继续使用这种方法。当然,一旦我可以访问不同的目标系统,我会立即对其进行测试,但我希望不会有什么不好的意外(这句话多久说过一次??):)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 2012-04-11
    • 1970-01-01
    • 2022-06-26
    相关资源
    最近更新 更多