【发布时间】:2013-03-17 14:09:48
【问题描述】:
我的 JButton 都可以调整大小(当我调整 JFrame 的大小时,JButton 会调整到正确的大小),但是我遇到了我为这些 JButton 设置的图标没有调整大小的问题。它们保持与我初始化它们时相同的高度和宽度。有没有办法让 JButton 的图标随 JButton 的大小缩放?
提前致谢。
【问题讨论】:
我的 JButton 都可以调整大小(当我调整 JFrame 的大小时,JButton 会调整到正确的大小),但是我遇到了我为这些 JButton 设置的图标没有调整大小的问题。它们保持与我初始化它们时相同的高度和宽度。有没有办法让 JButton 的图标随 JButton 的大小缩放?
提前致谢。
【问题讨论】:
我想以下方法会起作用,通过简单的谷歌搜索找到...
Image img = icon.getImage() ;
Image newimg = img.getScaledInstance( NEW_WIDTH, NEW_HEIGHT, java.awt.Image.SCALE_SMOOTH ) ;
icon = new ImageIcon( newimg );
请看这里:Auto-resizing JButton Icon 和 resizing a ImageIcon in a JButton
【讨论】:
Icon 接口的实现表示“一个小的固定大小* 图片,通常用于装饰组件。”持有图标的组件通常会根据图标的尺寸和相对位置调整其首选大小。如果容器的布局忽略组件的首选大小,则使用容器调整大小的按钮会这样做,例如GridLayout。相反,考虑一个JComponent,它以一种缩放到其当前大小的方式呈现其内容。示例包括 JDigit 和 LayoutTest。
* 已添加重点
【讨论】: