java - 对话框中的 println 带有非拉丁符号

标签 java unicode dialog acm-java-libraries

所以我想在 ACM 库对话框中打印一个来自 Java 中非英语语言的符号,但是当我运行它时,只出现小方 block 。

 IODialog dialog = getDialog();
 dialog.println("ზაზა");

最佳答案

IODialog使用 JOptionPane 进行实现,因此它会遇到与 JOptionPane 相同的 unicode 处理问题。

Here有一种方法可以克服这个问题。但我们不喜欢链接,所以让我总结一下:

根据上面的评论,使用字体是您想要探索的内容。创建一个新字体,如下所示:

public class MyFont {

/*

  Below code I extracted from

  http://www.java-forums.org/java-tips/6522-swing-changing-component-default-font.html

  then i customized it.

 */

public static void setUIFont (javax.swing.plaf.FontUIResource f){

java.util.Enumeration keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
  Object key = keys.nextElement();
  Object value = UIManager.get (key);
  if (value instanceof javax.swing.plaf.FontUIResource)
    UIManager.put (key, f);
  }
}
}

然后您可以使用包含以下行的 unicode 字符的字体设置实际字体:

MyFont.setUIFont(new javax.swing.plaf.FontUIResource("Iskoola pota",Font.BOLD,18)); // setting the default font for application

所以它的作用是改变你的默认字体。您无需再做任何事情。如果您需要在更改之前更改回默认字体,那么您必须通过这种方式重置默认字体。

关于java - 对话框中的 println 带有非拉丁符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935934/

相关文章:

javascript - 如何在 JavaScript 中转换 unicode?

git - Git 提交中的表情符号代码与 Unicode 代码点

jquery 对话框窗口 - 将选项设置为变量一次

java - Hibernate不保存复杂对象

java - 刷新 View ?

python - Gentoo Dropbox CLI

android - 如何为自定义对话框设置边距?

java - 无法在我的程序结构中创建 AlertDialog

java - 将 Context.xml 放在 WAR 文件中的什么位置?

java - 如何在应用程序运行期间更改 log4j 设置?