添加 JLabel,给 JLabel 添加 ImageIcon,然后放置 JLabel 到 JPanel 上就行了:
JPanel pnl = new JPanel()
......
JLabel lblImage = new JLabel(new ImageIcon("你的文件名")) //创建一个带图片的 JLabel
lblImage.setBounds(0, 0, pnl.getWidth(), pnl.getHeight()) //设置 图片的横坐标、纵坐标、宽、高
pnl.add(lblImage) //放置这个 JLabel 到你的 JPanel 上面
还有一种方法是重写 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = Toolkit.getDefaultToolkit().createImage("你的文件名") //用 Toolkit 的 createImage 方法来创建一个 Image 对象
@Override public void paint (Graphics g) {
super.paint(g)
g.drawImage(img, 0, 0, getWidth(), getHeight()) //绘制图片,第一个参数是 Image 对象,第二个参数是 横坐标,第三个是 纵坐标,第四个是 宽,第五个是 高
}
}
以上你隐式重写也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
...... //但是要注意这样如果你把 Image 声明成了局部变量或者参数形式,你需要声明成 final
}
}
能,可以给你一个实现方法,这里是用一个卡片来实现的JPanel p1=new JPanel(cardp1)
p1.setSize(900,100)
CardLayout cardp1=new CardLayout()
Image zhuImage1=null//zhuImage为图片的文件名
try
{
zhuImage1=ImageIO.read(new File("这里是图片的存放地址"))
}catch(IOException e1){
e1.printStackTrace()
}
ImagePanel ip=new ImagePanel(zhuImage1)
p1.add(ip,"0")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)