【问题标题】:How to resize Swing JButon's icon如何调整 Swing JButon 的图标大小
【发布时间】:2017-05-09 15:35:59
【问题描述】:

我有一个我想在 JButton 和其他地方使用的图标,使用其他尺寸。那么有什么方法可以调整大小(比如button.setIconSize(124, 124); 相同的图标,但没有两个?

【问题讨论】:

  • 图标是按照实际大小绘制的,所以如果你想要不同大小的图标,那么你需要创建多个图标。

标签: java swing icons jbutton


【解决方案1】:
ImageIcon imageIcon = new ImageIcon("picture_Path"); //unscaled image
Image image = imageIcon.getImage();
Image newimg = image.getScaledInstance(newWidth, newHeight, java.awt.Image.SCALE_SMOOTH); // resize it here
imageIcon = new ImageIcon(newimg);  // transform it back

所以它会像

JButton.setIcon(imageIcon(...));

【讨论】:

    【解决方案2】:

    图标是按照它们的实际大小绘制的,所以如果你想要不同大小的图标,那么你需要创建多个图标。您添加图标的组件的首选大小将始终基于图标的大小。

    如果您希望Icon 能够随着其父组件大小的调整而动态缩放,那么您可以使用Stretch Icon

    【讨论】:

    • 我是否正确地说 JButton 的实际可点击区域来自正在使用的布局管理器?
    • @DonnachaConnolly 可点击区域来源于按钮的实际大小,可以通过布局管理器控制,但是可以通过getPreferred/Minimum/MaximumSize受按钮影响
    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 2019-09-06
    相关资源
    最近更新 更多