1

我最近将我的应用程序从 Oracle JDK 迁移到 Zulu。我的应用程序使用 BIRT 生成 MS-WORD 文档。

现在zulu迁移后,报告在windows环境下很好,但是当在Linux机器中部署相同的应用程序时,报告不显示其他语言的字体,如日文、中文、韩文等。它在字体的地方是空白的.

报告中只看到英文字体。

我认为它与 windows zulu JDK 和 Linux zulu JDK 有关。

Linux版本是否需要包含任何库?

需要帮助!!

4

1 回答 1

1

请考虑以下示例:

import javax.swing.*;
import javax.swing.plaf.metal.MetalLookAndFeel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.lang.reflect.InvocationTargetException;

public class japaneseTest extends JFrame {

    japaneseTest() {
        try {
            UIManager.setLookAndFeel(new MetalLookAndFeel());
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }

        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

        getContentPane().add(new JLabel("日本 日本 日本"), BorderLayout.NORTH);

        JButton button = new JButton("Close");
        button.addActionListener(new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                dispose();
            }
        });
        getContentPane().add(button, BorderLayout.SOUTH);

        setPreferredSize(new Dimension(300, 300));
        pack();
    }

    public static void main(String[] args) {
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                @Override
                public void run() {
                    japaneseTest app = new japaneseTest();
                    app.setVisible(true);
                }
            });
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}

这将创建一个带有一些日文文本(“日本”)和“关闭”按钮的标签的 JFrame。我在 RHEL 6.6 上针对 Zulu 6.6、Zulu 7.7 和 Zulu 8.4 进行了测试,没有安装其他字体。

这代表你的问题吗?

于 2014-12-10T14:55:09.873 回答