在java部分需要用到图形界面编程的项目中,经常会使用图片设置对按钮进行美化,但是使用时会出现一个很麻烦的问题, 按照方法:
JButton jb1 = new JButton();
jb1.setBounds(0, 0, 25, 20);
ImageIcon ii = new ImageIcon("images/xxx.png");
jb1.setIcon(ii);
此时会发现在按钮中的图片并没有如预料的那样填充按钮,而是按照图片本身的大小放置于按钮中,那么,应该怎么操作才能使图片如预期按钮的长宽那样完好的填充在按钮中呢?
其实很简单,只需要事先取得设置按钮的长宽,使用getScaledInstance()方法重新构造图片,再构造Icon对象传入JButton中即可。
具体实现过程如下:
JButton jb1 = new JButton();
jb1.setBounds(0, 0, 25, 20);
ImageIcon ii = new ImageIcon("images/xxx.png");
//根据按钮大小改变图片大小
Image temp = ii.getImage().getScaledInstance(jb1.getWidth(), jb1.getHeight(), ii.getImage().SCALE_DEFAULT);
ii = new ImageIcon(temp);
jb1.setIcon(ii);
推荐教程:java快速入门