如何设置自定义按钮的大小?
How to set size of custom button?
我创建了一个带有按钮自定义图标的 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));
有没有办法强制缩小这些图标的大小,或者我必须缩小实际图标文件的大小?感谢您的帮助。
假设您可以缩小按钮的尺寸,没有图标。所以在不改变原文件大小的情况下,用下面的方法把图片缩小:
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。关于尺码。希望这有帮助:)
我创建了一个带有按钮自定义图标的 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));
有没有办法强制缩小这些图标的大小,或者我必须缩小实际图标文件的大小?感谢您的帮助。
假设您可以缩小按钮的尺寸,没有图标。所以在不改变原文件大小的情况下,用下面的方法把图片缩小:
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。关于尺码。希望这有帮助:)