Java JButton上的大图像未显示

Java JButton上的大图像未显示,java,swing,button,jbutton,imageicon,Java,Swing,Button,Jbutton,Imageicon,有没有办法显示比小图像图标大的图像 我有一个64x64 png图像,我试图显示在一个按钮上(占据整个按钮) 但是当我使用 ImageIcon icon = new ImageIcon("somePath"); JButton btnBuildStructure = new JButton(icon); 显示的图像仅为我要显示的图像左上角的16x16 我该怎么做? 我希望它看起来像这样 JButton应该自然地调整到最佳的首选大小,以显示整个图标。如果没有发生这种情况,那么您可能会人为地限制JB

有没有办法显示比小图像图标大的图像

我有一个64x64 png图像,我试图显示在一个按钮上(占据整个按钮)

但是当我使用

ImageIcon icon = new ImageIcon("somePath");
JButton btnBuildStructure = new JButton(icon);
显示的图像仅为我要显示的图像左上角的16x16

我该怎么做? 我希望它看起来像这样


JButton应该自然地调整到最佳的首选大小,以显示整个图标。如果没有发生这种情况,那么您可能会人为地限制JButton的大小。解决方案:很好地使用布局管理器,在添加所有组件之后和设置GUI可见之前调用
pack()
,避免空布局,如果更改任何组件或其大小或首选大小(例如,如果在程序运行时更改图标),则在容器上调用重新验证()和重新绘制().

我在一个JPanel中绘制我的按钮,然后将其添加到另一个JPanel的borderlayout中,因此我没有访问pack()方法的权限。除非我想到了错误的方法,否则打包不是JFrame方法吗?@JosephDour:重要的是,在添加所有组件之后,您的顶级窗口是
packed()
。为了获得更多帮助,请考虑创建和发布(请点击并阅读链接)。“我在JPAND中画我的按钮……”如何?回答形式为(最小完整测试和可读示例)。如上所述的图像热链接。“有没有办法显示比小图像图标大的图像?”当然。我用过比按钮大得多的图片。“我如何做到这一点?”1)为了更快地获得更好的帮助,请发布一个(经过测试且可读性最低的完整示例)。2) 例如,获取图像的一种方法是热链接到中看到的图像……事实上,是在按钮(棋盘的位置)中显示64x64图像(棋子)的问答(带有屏幕截图)。