一个关于 更改图片的问题(务必指教)

西夏一品堂 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();
}
}
...全文
41 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
abchd 2009-06-20
  • 打赏
  • 举报
回复
g = new Bg(str);
g.repaint();
改成:
remove(g);
g = new Bg(str);
add(g);
validate();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧