Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将图标添加到JButton而不更改其大小_Java_Icons_Jbutton_Gridbaglayout - Fatal编程技术网

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()并设置所需的最小大小

  • 这可能会解决您的问题。

    调整按钮的大小,并使其按图标的大小变大。
    -这对我来说很有意义。如果添加图标,按钮应该会变大。为什么这是不合理的?你为什么不指定一个合理的要求呢。是否要截断图标?你想按比例缩放吗?你想让它被忽略吗?我正在做一个扫雷游戏,我想让它被忽略。嗯,它不能被忽略。为“正常”状态创建一个图标。为“单击”状态创建一个图标。图标的大小应该相同。然后,在您的逻辑中,当您更改图标时,按钮的大小将保持不变。谢谢!这对我有帮助
    调整按钮的大小,并使其按图标的大小变大。
    -这对我来说很有意义。如果添加图标,按钮应该会变大。为什么这是不合理的?你为什么不指定一个合理的要求呢。是否要截断图标?你想按比例缩放吗?你想让它被忽略吗?我正在做一个扫雷游戏,我想让它被忽略。嗯,它不能被忽略。为“正常”状态创建一个图标。为“单击”状态创建一个图标。图标的大小应该相同。然后,在您的逻辑中,当您更改图标时,按钮的大小将保持不变。谢谢!这对我有帮助!