一个关于 更改图片的问题(务必指教)
西夏一品堂 2009-06-20 01:04:44 我想做一个 更改背景图片
大家帮我看看 为什么改不了
package com;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class Bg extends JPanel
{
Image img;
public Bg(String str)
{
img = getToolkit().getImage(str);
}
public void paint(Graphics g)
{
g.drawImage(img,0,0,450,450,this);
}
}
package com;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Tu extends JFrame
{
JMenuBar b = new JMenuBar();
JMenu m = new JMenu("文件");
JMenuItem jmi = new JMenuItem("更改背景图片");
Bg g;
public Tu()
{
g = new Bg("c:\\login.jpg");
this.setJMenuBar(b);
b.add(m);
m.add(jmi);
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
if(arg0.getSource() == jmi)
{
FileDialog file = new FileDialog(Tu.this,"打开",FileDialog.LOAD);
file.setVisible(true);
String str = file.getDirectory() + file.getFile();
g = new Bg(str);
g.repaint();
}
}
});
Tu.this.repaint();
this.add(g);
this.setSize(480,470);
this.setDefaultCloseOperation(3);
this.setVisible(true);
}
public static void main(String[] args)
{
new Tu();
}
}