Java 将图标添加到JButton而不更改其大小
我正在尝试将Java 将图标添加到JButton而不更改其大小,java,icons,jbutton,gridbaglayout,Java,Icons,Jbutton,Gridbaglayout,我正在尝试将图标添加到JButton 当我尝试这样做时,我的布局管理器(我使用GridBagLayout)会调整按钮的大小,并使其按图标的大小变大 有没有办法避免这种情况?你可以试试JButton#setPreferedSize(…) 或者,您可以覆盖paintComponent方法: 如果您想使用多个按钮来完成此操作,当然最好为其创建一个类,例如: class ImageButton extends JButton { private final Image
图标添加到JButton
当我尝试这样做时,我的布局管理器(我使用GridBagLayout
)会调整按钮的大小,并使其按图标的大小变大
有没有办法避免这种情况?你可以试试JButton#setPreferedSize(…)
或者,您可以覆盖paintComponent方法:
如果您想使用多个按钮来完成此操作,当然最好为其创建一个类,例如:
class ImageButton extends JButton {
private final Image image;
public ImageButton(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//drawing logic here
}
}
你可以试试JButton#setPreferedSize(…)
或者,您可以覆盖paintComponent方法:
如果您想使用多个按钮来完成此操作,当然最好为其创建一个类,例如:
class ImageButton extends JButton {
private final Image image;
public ImageButton(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//drawing logic here
}
}
我也有同样的问题。做这些事情:
通过图像处理程序调整图像大小以适合按钮。
使用setMininumSize()并设置所需的最小大小
这可能会解决您的问题。我也有同样的问题。做这些事情:
通过图像处理程序调整图像大小以适合按钮。
使用setMininumSize()并设置所需的最小大小
这可能会解决您的问题。调整按钮的大小,并使其按图标的大小变大。
-这对我来说很有意义。如果添加图标,按钮应该会变大。为什么这是不合理的?你为什么不指定一个合理的要求呢。是否要截断图标?你想按比例缩放吗?你想让它被忽略吗?我正在做一个扫雷游戏,我想让它被忽略。嗯,它不能被忽略。为“正常”状态创建一个图标。为“单击”状态创建一个图标。图标的大小应该相同。然后,在您的逻辑中,当您更改图标时,按钮的大小将保持不变。谢谢!这对我有帮助调整按钮的大小,并使其按图标的大小变大。
-这对我来说很有意义。如果添加图标,按钮应该会变大。为什么这是不合理的?你为什么不指定一个合理的要求呢。是否要截断图标?你想按比例缩放吗?你想让它被忽略吗?我正在做一个扫雷游戏,我想让它被忽略。嗯,它不能被忽略。为“正常”状态创建一个图标。为“单击”状态创建一个图标。图标的大小应该相同。然后,在您的逻辑中,当您更改图标时,按钮的大小将保持不变。谢谢!这对我有帮助!