我创建了一个带有按钮自定义图标的GUI程序。但是,我无法在Java中设置这些按钮的大小,因此它们保持原始大小230x227。我试图让它们大约在20x20左右,所以我使用了以下代码:
classAlcBtn.setPreferredSize(new Dimension(20,20));
classAlcBtn.setIcon(new ImageIcon(getClass().getResource("Alchemist.png")));
classAlcBtn.setBorder(null);
classAlcBtn.setBorderPainted(false);
classAlcBtn.setContentAreaFilled(false);
classAlcBtn.setPressedIcon(
new ImageIcon(getClass().getResource("alchemistClicked.png")));
classAlcBtn.setCursor(new Cursor(Cursor.HAND_CURSOR));
有没有办法强制这些图标缩小尺寸,还是我必须缩小实际图标文件的大小?谢谢你的帮助。
答案 0 :(得分:1)
假设你可以缩小按钮的大小,没有图标。因此,请使用以下方法调整图像大小,而不更改原始文件的大小:
ImageIcon icon = new ImageIcon("whatever.jpg");
Image img = icon.getImage() ;
Image newImg = img.getScaledInstance( NEW_WIDTH, NEW_HEIGHT, java.awt.Image.SCALE_SMOOTH ) ;
icon = new ImageIcon( newImg );
...
classAlcBtn.setIcon(icon);
如果Button调整大小本身无效,那么您可以尝试使用setMaximumSize()
代替setPreferredSize()
方法,如下所示:
classAlcBtn.setMaximumSize(new Dimension(100,100));
有关详细信息,请参阅this。关于尺寸。希望这有助于:)