用JAVA!swing怎么在窗口中加图片,怎么把图片放在中间?

用JAVA!swing怎么在窗口中加图片,怎么把图片放在中间?,第1张

你可以用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)

}

}

}

这里只是写的一个示例代码

在JFRAME中设置一个JPANEL对象,重写一下JPANEL对象的paintComponent方法。

如下:

JPanel panel = new JPanel() {

public void paintComponent(Graphics g) {

ImageIcon icon = new ImageIcon("D:\\timebg.jpg")

// 图片随窗体大小而变化

g.drawImage(icon.getImage(), 0, 0,

frame.getSize().width,

frame.getSize().height,

frame)

}

}

panel.setOpaque(false)//设置透明。

2

在上面中的panel对象上添加多个其它具体的Jpanel对象。

在每一个Jpanel对象中又可以设置单独的布局方式。

这样就可以完整的表达这个界面内容了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11747537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存