我正在使用Java Swing。 我尝试使用Jtable的打印方法...
public void actionPerformed(java.awt.event.ActionEvent ignore) {
MessageFormat header = new MessageFormat("Page {0,number,integer}");
try {
table.print(JTable.PrintMode.FIT_WIDTH, header, null);
} catch (java.awt.print.PrinterException e) {
System.err.format("Cannot print %s%n", e.getMessage());
}
}
显示打印对话框。它的工作很好..
但我想用Locale类将文本对话框语言更改为西班牙语,我该怎么办?
谢谢!
答案 0 :(得分:0)
@Diego
我在这里复制了您的解决方案,以便更容易阅读。
这是旧论坛条目的启发:https://forums.oracle.com/thread/1287832
----开始----
在Jtable.print()方法之前添加反射来更改ResourceBlunde ...
try {
Class cl = Class.forName("sun.print.ServiceDialog");
if (cl != null) {
Field fld = cl.getDeclaredField("messageRB");
if (fld != null) {
fld.setAccessible(true);
fld.set(cl, ResourceBundle.getBundle("sun.print.resources.serviceui_es"));
}
}
} catch (Exception ex11) {
ex11.printStackTrace();
}
----结束----
我可能希望有一天能够搜索并找到它。