最近我使用 Swing 开发了一个桌面应用程序“酒店管理系统”,效果很好!
但现在最新的要求是应用程序应该是泰卢固字体!这意味着应用程序的 GUI 应该是泰卢固语,账单和报告以及应用程序中的所有内容都应该是泰卢固语......
所以我的问题是,这可能吗?如果是这样,那么应该使用什么技术和摆动来实现这一点?
如果任何新的东西应该与 Swing 一起应用,那么我很想学习它并在我的应用程序中使用它!
请帮帮我。我不知道如何做到这一点。
只要您做好准备,更改默认字体并不是特别困难。
查看Jasper Reports 的自定义字体,了解如何将您的字体与 Jasper Reports 捆绑在一起。还建议查看官方文档和论坛以获取更多最新信息。
网上有很多例子,只需谷歌一下“Jasper Reports custom fonts”
为 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) {
}
}
否则,您应该能够使用所需的字体系列名称简单地创建Font
对象。Telugu
接下来,您要将当前外观使用的默认字体更改为您想要使用的字体。这必须在您安装外观和感觉之后以及在您创建任何 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 在外观和感觉上默认倾向于使用固定宽度字体,将字体更改为可变宽度字体会改变您的布局。
It is also possible without using fonts. Use Telugu Unicode to display telugu language and even for JASPER reports. I developed English to Telugu Transliterator using telugu unicode without using any font system. Just configure all label names in telugu, kannada, hindi and load with transliterator.