Java 更改jframe中图标的大小和形状
我用以下代码在java中创建了一个jframe。这将创建在给定url中传递的图像的自定义图标。但是它的尺寸很小,我能把它的形状从长方形改成圆形吗Java 更改jframe中图标的大小和形状,java,swing,icons,jframe,awt,Java,Swing,Icons,Jframe,Awt,我用以下代码在java中创建了一个jframe。这将创建在给定url中传递的图像的自定义图标。但是它的尺寸很小,我能把它的形状从长方形改成圆形吗 class newframe extends JFrame { Container cp; newframe() { cp=this.getContentPane(); cp.setLayout(null); } public static void main(String args[]
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());
}
}
您无法更改
JFrame
的图标的大小,因为top-Level容器的属性来自本机OS
,AFAIK和
- 图标罐
a)
填充
所有可用区域
b) 比可用区域小
c) 只有部分
图标可见,因为它大于可用区域
图标的大小取决于平台(WinXP==16 x 16
,Win7
取决于当前主题16 x 16
或32 x 32
)
- 对于
顶级容器
的属性,有两种实现自己注入的方法来自本机操作系统
,其中一种是物质L&F
,第二种方法不重要,因为触摸了阴影区域,需要移除工具栏并返回修改后的内容(肮脏的黑客)
- 对于
JFrame
,基于Netbeans中的JSR296
无法更改顶级容器的图标,因为此Swing框架要覆盖和保护一些重要方法,必须覆盖RootPane
(请不要这样做,所需的大量黑客攻击和结果只会是边框
(没有内容的透明窗口)没有内容窗格
,没有回头路)
仅限WINDOWS 7!
当您将宽度设置为32x32像素时,超级条中JFrame窗口的图标会更大。它可以是这样的大小,因为当它不是32x32像素时,它只显示16x16像素。这是第二个问题,这里也给了您同样的建议。请学习java命名约定并坚持它们。在学习时,请确保要了解所有关于LayoutManager的信息(null不是Swing中的选项:-)顺便说一句:我的反对票是不采纳前面问题中给出的建议-如果你坚持做错事,任何人都没有理由这么做,是吗?