最近,我开发了一个桌面应用程序“酒店管理系统”使用Swing,这是伟大的工作!
但现在,最新的要求是,应用程序应该是在telugu字体!这意味着应用程序的GUI应该在telugu中,而账单和报表以及应用程序中的所有内容都应该在telugu中。
所以我的问题是,这可能吗?如果是这样的话,那么应该使用什么样的技术来实现这一目标呢?
如果有什么新的东西应该与Swing一起应用,那么我很想学习它,并在我的应用程序中使用它!
请帮帮我。我不知道该怎么做。
发布于 2013-03-01 11:50:58
只要你做好准备,更改默认字体并不是特别困难。
看看Jasper报表的自定义字体如何将您的字体与Jasper捆绑在一起。这也是明智的检查与官方的文档和论坛,以获得更多的最新信息。
网络上有很多例子,只需为"Jasper Reports自定义字体“做一个Google即可。
为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在它的外观和感觉中默认使用固定宽度的字体,将字体更改为可变宽度的字体将改变您的布局。
发布于 2013-05-13 07:56:41
不使用字体也是可能的。使用Telugu显示telugu语言,甚至用于JASPER报告。我在没有任何字体系统的情况下,用Telugu开发了英语到telugu音译。只需配置所有标签名称在telugu,kannada,印地语和加载与音译。
https://stackoverflow.com/questions/15154088
复制相似问题