JButton b = new JButton() // // 实例化按钮对象,并且设置按钮上显示图片
b.setIcon(new ImageIcon("f://1.jpg")) ////1.jpg是要添加的图片
j.add(b)
j.setSize(300, 200)
j.setVisible(true)
代码及说明参考上面代码及注释
你可以用Jlabel或者或者AbstractButton的子类来达到这个目的.下面给你一点用Jlabel的代码 JLabel label = new JLabel()label.setIcon(new ImageIcon("图片路径"))这样就可以了,AbstractButton的方法也是一样的,,都是setIcon如果要把图片放在中间,那么用下面的代码: label.setHorizontalAlignment(SwingUtilities.CENTER)
label.setVerticalAlignment(SwingUtilities.CENTER)这样,图片就在中间了.上面的代码,第一行是设置label的水平对齐为剧中,第二行是设置垂直对齐为剧中. 还有一种方法是就是继承JComponent类重写paint方法,自己绘制图片,但是这种方法对你的需求来说,是完全没必要的. 关于图片相关的信息,你可以用 Toolkit.getDefaultToolkit().getImage("图片路径")来创建一张只读图片,要注意的是,这种方式获得的图片是不可修改的,如果要获得可以修改的图片,你可以用ImageIO类来创建BufferedImage. 希望这些信息可以帮到你.
简单来说就是重写paint方法,然后调用画笔的drawImage这个方法。如:
对一个JPanel加入背景图片“bg01.png”,那么就重写paint这个方法如下
在类里
/**
* 背景图片
*/
Image backgroundImage = null
//这就是重写paint方法
public void paint(Graphics g)
{
loadRecources()
if(backgroundImage != null)
{
g.drawImage(backgroundImage, 0, 0, this)
}
}
public void loadRecources()
{
//载入背景图片
if(backgroundImage == null)
{
try
{
backgroundImage = ImageIO.read(new File("resources/Images/bg01.png"))
} catch (IOException e)
{
System.out.println("缺少背景图片")
JOptionPane.showMessageDialog(this, "找不到背景图片!", "文件缺失", JOptionPane.ERROR_MESSAGE)
}
}
}
这里只是写的一个示例代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)