0

次のコードを使用して、Java で jframe を作成しました。これは、指定された url で渡された画像のカスタム アイコンを作成しています。しかし、そのサイズは非常に小さいので、長方形から円形に形状を変更できますか?

 class newframe extends JFrame 
  {

 Container cp;
   newframe()
   {
      cp=this.getContentPane();
      cp.setLayout(null);
    }

    public static void main(String args[])
    {
      newframe frm= new newframe(); 

      frm.setbounds(0,0,1000,800);
      frm.setVisible(true);
      ImageIcon im1= new ImageIcon("path upto image");
      frm.setIconImage(im1.getImage());
     }
    }
4

2 に答える 2

1

Iconforのサイズを変更することはできませんJFrame。なぜなら、T のプロパティはAFAIKop-Level Containerから来たものだからです。Native OS

  • アイコン缶

    a)fill利用可能なすべてのエリア

    b)smaller利用可能エリアより

    c)only part of利用可能な領域よりも大きいため、アイコンが表示されます

  • のサイズIconはプラットフォームに依存します ( WinXP == 16 x 16Win7現在のテーマ16 x 16またはに依存32 x 32)

  • のプロパティに独自のインジェクションを実装するカスタム ルック アンド フィールが 2つあります。そのうちの 1 つは です。Top-Level ContainerNative OSSubstance L&F

  • この Swing フレームワークはいくつかの重要なメソッドをオーバーライドして保護するため、オーバーライドする必要があるため(そうJFrameしないでください。必要な大量のハックと結果は(内容のない透明なウィンドウ) なしでのみになります)。 、戻る方法はありません)JSR296 in NetbeansIconTop-Level ContainersRootPaneBordersContentPane

于 2012-10-15T10:19:36.090 に答える
0

WINDOWS 7 だけで!

幅を 32x32 ピクセルに設定すると、スーパーバーの JFrame ウィンドウのアイコンが大きくなります。32x32 でない場合は 16x16 ピクセルしか表示されないため、このサイズにはなりません。

于 2013-04-03T09:52:14.723 に答える