繁体   English   中英

更改jframe中图标的大小和形状

[英]change size and shape of icon in jframe

我用以下代码在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());
     }
    }

您无法更改JFrameIcon的大小,因为T op-Level Container属性来自Native OS ,AFAIK以及

  • 图标可以

    a) fill所有可用区域

    b) smaller可用面积

    c) only part of图标的only part of可见,因为它大于可用区域

  • Icon大小对平台敏感( WinXP == 16 x 16Win7取决于当前主题16 x 1632 x 32

  • 有两种“ 自定义外观”实现了对“ Top-Level Container ”属性的自身注入,这些注入来自Native OS ,其中之一是Substance L&F ,第二点并不重要,因为触摸阴影区域并需要删除工具栏和返回修改后的内容(肮脏的骇客)

  • 基于JSR296 in Netbeans基于JSR296 in Netbeans JFrame无法更改Top-Level Containers Icon ,因为此Swing框架要覆盖和保护一些重要方法,必须覆盖RootPane (请不要这样做,这需要大量的hack和结果只会是没有ContentPane Borders (没有内容的透明窗口),无法返回)

仅由Windows 7!

当将Width设置为32x32像素时,超级栏中的JFrame窗口的图标更大。 它是这个尺寸,因为当它不是32x32时,它仅显示16x16像素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM