3

Javaでメインウィンドウ(JFrame)のタイトルバー以外はどこでも日本語の文字を表示できます。日本語の文字を表示できるように、このタイトル バーのフォントを変更する方法はありますか? ありがとう

Windows XP を使用しています。これが重要な場合は、Java Substance のルック アンド フィールも使用しています。

4

4 に答える 4

3

ウィンドウのタイトル バーは、Swing ではなく、システム ウィンドウ マネージャーによって管理されます。使用している OS/GUI はわかりません。

Windows XP の場合、[ディスプレイ] コントロール パネルを開き、[外観] タブを選択して、[詳細設定] ボタンをクリックします。ここでタイトル フォントを変更できます (ただし、システムにインストールされているフォントには必要なグリフがない場合があります)。

システムの既定のフォントが必要なグリフをサポートしているかどうかを確認するコードを次に示します (文字が何かわかりません。カタカナ セットの見栄えの良いグリフです)。

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class GlyphCheck
{
    public static void main(String[] argv) throws Exception {
        final String title = "Testing: \u30CD";
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                JFrame frame = new JFrame(title);
                frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                JLabel label = new JLabel(title);
                label.setSize(200, 100);
                frame.setContentPane(label);
                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}
于 2009-06-01T18:42:06.293 に答える
1
JFrame.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
UIManager.put( "InternalFrame.titleFont", Resources.jaDefault.deriveFont(16.0f) );

Try it ;)
于 2009-06-04T09:25:12.877 に答える
0

フレームのフォントを上書きするには、外観に注意を払うようにルックアンドフィールを指示する必要があります。これは望ましい場合と望ましくない場合がありますが、そうでない場合はシステムに翻弄されます。いくつかのルックアンドフィールは非常に優れたウィンドウ装飾を備えていますが、そうでないものもあります。物質は大丈夫です。UIManagerに使用するフォントも指示します。

// Do this before you display any JFrame.
UIManager.put( "Frame.font", new Font( "Japanese", 12, Font.PLAIN ) );
JFrame.setDefaultLookAndFeelDecorated( true );

JFrame frame = new JFrame( title );

このアプローチ(動作するはずです-申し訳ありませんがテストされていません!)は、他の回答のように、ユーザーにWindows設定を変更する必要があることをユーザーに通知せずにプログラムを配布できることを意味します。

于 2009-06-02T22:01:12.290 に答える
0

私は Java Substance に詳しくありませんが、Web アプリケーションで作業しているときにこれを経験しました。基本的に日本語、中国語、韓国語の文字はページのコンテンツに表示されますが、ブラウザのタイトル バーには表示されません。

これは、ブラウザではなく、ウィンドウ システムがこのタイトル バーを制御するためです。kdgregory のコメントに基づくと、これはあなたの状況と似ているように思えます。

ウィンドウシステムが文字を理解し、サポートされていない「ボックス」を表示しないようにするには、適切な文字セットがインストールされていることを確認する必要があります。Windows XP の場合、次の手順でブラウザのタイトル バーの問題を解決しました。

  1. Windows の [スタート] メニューで、[コントロール パネル] を開きます。
  2. [地域と言語のオプション] アイコンをクリックし、[言語] タブをクリックします。
  3. Supplemental languages support ボックスで、Install files for East Asian languages のチェックボックスをオンにします。
  4. [適用] と [OK] をクリックします。
于 2009-06-15T21:46:58.807 に答える