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 が作成されます。追加のフォントをインストールせずに、Zulu 6.6、Zulu 7.7、および Zulu 8.4 に対して RHEL 6.6 でテストしました。

これはあなたの問題を表していますか?

于 2014-12-10T14:55:09.873 に答える