0

OS X の JFrame タイトルバーにアイコンを追加しようとしています。使用したコードは次のとおりです。

ImageIcon icon = new ImageIcon("src/images/theIcon.gif");
System.out.println("Icon dimensions are " + icon.getIconWidth() + " by " + icon.getIconHeight());
frame.setIconImage(icon.getImage());

アイコンは表示されず、コンソール出力には画像の正しいサイズが表示されます。式に何か問題があるに違いありませんが、何setIconImage(icon.getImage())がわかりません。

私は Mac OS 10.8.2 で、Java SE 6 と Eclipse Juno を実行しています。実際、これは OS X の問題なのだろうかと思っています。

4

1 に答える 1

1

OS X は、デフォルトではタイトル バーにアイコンを描画しません。クロス プラットフォームのルック アンド フィールを有効にして、アイコンを描画できます。ただし、あまりきれいではないので、目を痛める可能性があります。

これは、JFrame を作成する前に行います (mainメソッド内など)。

try {
    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    JFrame.setDefaultLookAndFeelDecorated(true);
} catch (Exception e) {
    e.printStackTrace();
}

上記のコードがある場合とない場合のスクリーンショットを次に示します。

クロスプラットフォーム l&f あり/なしの JFrame

于 2013-08-07T06:59:46.287 に答える