Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Swigs将桌面应用程序中的英文字体转换为泰卢固字体_Java_Swing_Fonts - Fatal编程技术网

Java 如何使用Swigs将桌面应用程序中的英文字体转换为泰卢固字体

Java 如何使用Swigs将桌面应用程序中的英文字体转换为泰卢固字体,java,swing,fonts,Java,Swing,Fonts,最近,我使用Swing开发了一个桌面应用程序“酒店管理系统”,它工作得很好 但是现在最新的要求是应用程序应该是泰卢固字体!这意味着应用程序的GUI应该是telugu,账单、报告和应用程序中的所有内容都应该是telugu 所以我的问题是,这可能吗?如果是这样的话,那么应该使用什么技术和秋千来实现这一点呢? 如果有什么新的东西应该与Swing一起应用,那么我渴望学习它并在我的应用程序中使用它 请帮帮我。我不知道如何做到这一点。只要你做好准备,更改默认字体并不特别困难 看看如何将字体与Jasper报告

最近,我使用Swing开发了一个桌面应用程序“酒店管理系统”,它工作得很好

但是现在最新的要求是应用程序应该是泰卢固字体!这意味着应用程序的GUI应该是telugu,账单、报告和应用程序中的所有内容都应该是telugu

所以我的问题是,这可能吗?如果是这样的话,那么应该使用什么技术和秋千来实现这一点呢?
如果有什么新的东西应该与Swing一起应用,那么我渴望学习它并在我的应用程序中使用它


请帮帮我。我不知道如何做到这一点。

只要你做好准备,更改默认字体并不特别困难

看看如何将字体与Jasper报告捆绑在一起。建议您向官方文档和论坛查询更多最新信息

网上有很多例子,只需在谷歌上搜索“Jasper Reports自定义字体”

设置Swing所需的字体并不困难,但很大程度上取决于您使用的外观和感觉如何存储其属性

现在,根据字体是否安装在系统上,或者是否作为嵌入式资源提供字体,您可能需要或不需要执行以下操作

如果您不依赖系统上安装的字体,而是自己提供,则需要加载它

// Load the font, for example "Telugu.ttf"
String fName = "/fonts/" + name;
InputStream is = null;
try {
    InputStream is = DemoFonts.class.getResourceAsStream(fName);
    font = Font.createFont(Font.TRUETYPE_FONT, is);
} finally {
    try {
        is.close();
    } catch (Exception exp) {
    }
}
否则,您应该能够使用所需的
Telugu
Font族名称简单地创建
Font
对象

接下来,您需要将当前外观使用的默认字体更改为您想要使用的字体。这必须在安装外观之后和创建任何UI元素之前进行

Object[] keys = keySet.toArray(new Object[keySet.size()]);

for (Object key : keys) {

    if (key != null && key.toString().toLowerCase().contains("font")) {

        Object oValue = UIManager.getDefaults().get(key);

        if (oValue != null) {

            String value = oValue == null ? null : UIManager.getDefaults().get(key).toString();
            UIManager.put(key, font);

        }

    }

}

现在,您需要注意,Swing在外观和感觉上默认使用固定宽度字体,将字体更改为可变宽度字体将改变您的布局。

只要您做好准备,更改默认字体并不特别困难

看看如何将字体与Jasper报告捆绑在一起。建议您向官方文档和论坛查询更多最新信息

网上有很多例子,只需在谷歌上搜索“Jasper Reports自定义字体”

设置Swing所需的字体并不困难,但很大程度上取决于您使用的外观和感觉如何存储其属性

现在,根据字体是否安装在系统上,或者是否作为嵌入式资源提供字体,您可能需要或不需要执行以下操作

如果您不依赖系统上安装的字体,而是自己提供,则需要加载它

// Load the font, for example "Telugu.ttf"
String fName = "/fonts/" + name;
InputStream is = null;
try {
    InputStream is = DemoFonts.class.getResourceAsStream(fName);
    font = Font.createFont(Font.TRUETYPE_FONT, is);
} finally {
    try {
        is.close();
    } catch (Exception exp) {
    }
}
否则,您应该能够使用所需的
Telugu
Font族名称简单地创建
Font
对象

接下来,您需要将当前外观使用的默认字体更改为您想要使用的字体。这必须在安装外观之后和创建任何UI元素之前进行

Object[] keys = keySet.toArray(new Object[keySet.size()]);

for (Object key : keys) {

    if (key != null && key.toString().toLowerCase().contains("font")) {

        Object oValue = UIManager.getDefaults().get(key);

        if (oValue != null) {

            String value = oValue == null ? null : UIManager.getDefaults().get(key).toString();
            UIManager.put(key, font);

        }

    }

}

现在,您需要知道Swing在外观和感觉上默认使用固定宽度字体,将字体更改为可变宽度字体将改变您的布局。

也可以不使用字体。使用Telugu Unicode显示Telugu语言,甚至用于JASPER报告。我使用泰卢古unicode开发了英语到泰卢古的音译,没有使用任何字体系统。只需在泰卢固语、卡纳达语、印地语中配置所有标签名称,并使用音译器加载即可。

也可以不使用字体。使用Telugu Unicode显示Telugu语言,甚至用于JASPER报告。我使用泰卢古unicode开发了英语到泰卢古的音译,没有使用任何字体系统。只需在泰卢固语、卡纳达语、印地语中配置所有标签名称,并使用音译器加载即可。

是否可能?对如果新字体的宽度可变,则会影响布局,因此请小心。摇摆部分相对容易,这取决于您使用的外观和感觉。你的报告是另一回事。您使用的是什么外观和感觉?您的报告是如何生成的?@MadProgrammer这些报告是使用jasper生成的。我使用的是windows xp系统的外观我现在不在我的图片中,但我可以告诉你Jasper会有一些问题,这很可能,但是你需要提供Jasper能够访问的Jar文件中字体的所有变体是的,但是我仍然不知道如何处理它!可能吗?对如果新字体的宽度可变,则会影响布局,因此请小心。摇摆部分相对容易,这取决于您使用的外观和感觉。你的报告是另一回事。您使用的是什么外观和感觉?您的报告是如何生成的?@MadProgrammer这些报告是使用jasper生成的。我使用的是windows xp系统的外观我现在不在我的图片中,但我可以告诉你Jasper会有一些问题,这很可能,但是你需要提供Jasper能够访问的Jar文件中字体的所有变体是的,但是我仍然不知道如何处理它!