我使用事件处理更换图片,可功能不能实现!帮我看一下,问题出在哪里!import java.awt.*;
import java.awt.event.*;public class ImageTest extends Frame implements ActionListener {
public MenuBar mbar;
public Menu menuBackground;
public MenuItem readingroom, wubianhu, netZx, sportF;
public ImageTest() {
//创建菜单条
mbar = new MenuBar();
//创建菜单对象:系统,成绩管理,更换背景,帮助
menuBackground = new Menu("校园一览"); //创建"更换背景"菜单的菜单项对象
readingroom = new MenuItem("阅览室");
wubianhu = new MenuItem("无边湖");
netZx = new MenuItem("网线中心");
sportF = new MenuItem("体育设施");
//将菜单项添加到对应的菜单中
menuBackground.add(readingroom);
menuBackground.add(wubianhu);
menuBackground.add(netZx);
menuBackground.add(sportF);
//将菜单添加到菜单条中
mbar.add(menuBackground);
//将菜单条加入到框架
setMenuBar(mbar);
//添加监听器
readingroom.addActionListener(this);
wubianhu.addActionListener(this);
netZx.addActionListener(this);
sportF.addActionListener(this);
//添加背景图片
add(new Picture("F:\\a.jpg"));
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); setTitle("学生成绩管理系统");
setBounds(100, 100, 800, 600);
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
MenuItem mi = (MenuItem)e.getSource();
if(mi == readingroom) {
add(new Picture("F:\\b.jpg"));
}
else if(mi == wubianhu) {
add(new Picture("F:\\c.jpg"));
}
else if(mi == netZx) {
add(new Picture("F:\\d.jpg"));
}
else if(mi == sportF) {
add(new Picture("F:\\e.jpg"));
}
}
public static void main(String args[]) {
new ImageTest();
}
}class Picture extends Canvas {
Image image;
public Picture(String imageFileName) {
Toolkit tk = Toolkit.getDefaultToolkit();
image = tk.getImage(imageFileName);
}
public Dimension getPreferredSize() {
return new Dimension(800, 600);
}
//重写paint()方法
public void paint(Graphics g) {
g.drawImage(image, 0, 0, this);
}}
import java.awt.event.*;public class ImageTest extends Frame implements ActionListener {
public MenuBar mbar;
public Menu menuBackground;
public MenuItem readingroom, wubianhu, netZx, sportF;
public ImageTest() {
//创建菜单条
mbar = new MenuBar();
//创建菜单对象:系统,成绩管理,更换背景,帮助
menuBackground = new Menu("校园一览"); //创建"更换背景"菜单的菜单项对象
readingroom = new MenuItem("阅览室");
wubianhu = new MenuItem("无边湖");
netZx = new MenuItem("网线中心");
sportF = new MenuItem("体育设施");
//将菜单项添加到对应的菜单中
menuBackground.add(readingroom);
menuBackground.add(wubianhu);
menuBackground.add(netZx);
menuBackground.add(sportF);
//将菜单添加到菜单条中
mbar.add(menuBackground);
//将菜单条加入到框架
setMenuBar(mbar);
//添加监听器
readingroom.addActionListener(this);
wubianhu.addActionListener(this);
netZx.addActionListener(this);
sportF.addActionListener(this);
//添加背景图片
add(new Picture("F:\\a.jpg"));
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}); setTitle("学生成绩管理系统");
setBounds(100, 100, 800, 600);
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
MenuItem mi = (MenuItem)e.getSource();
if(mi == readingroom) {
add(new Picture("F:\\b.jpg"));
}
else if(mi == wubianhu) {
add(new Picture("F:\\c.jpg"));
}
else if(mi == netZx) {
add(new Picture("F:\\d.jpg"));
}
else if(mi == sportF) {
add(new Picture("F:\\e.jpg"));
}
}
public static void main(String args[]) {
new ImageTest();
}
}class Picture extends Canvas {
Image image;
public Picture(String imageFileName) {
Toolkit tk = Toolkit.getDefaultToolkit();
image = tk.getImage(imageFileName);
}
public Dimension getPreferredSize() {
return new Dimension(800, 600);
}
//重写paint()方法
public void paint(Graphics g) {
g.drawImage(image, 0, 0, this);
}}
解决方案 »
- 让集合[abc]中的字母只能出现一次(不能连续出现),这个正则表达式如何写?
- 那里有基于rtp协议用jmf开发的P2P语言聊天的实例啊?或是这方面的资料
- 高分急求有关反射方面的问题???
- Linux下JavaMail的奇怪问题!!!!
- 有个函数可以随机发出0-1之间的数 如何实现运算让他可以发出-10---------10之间的数 恳求大家解答 用语言表达即可
- 求平衡二叉树删除算法
- 键盘事件问题,老大们帮帮忙!!!!
- 关于使用classpath的奇怪问题??
- 关于日期和download的问题
- 怎样连接服务器SQL7数据库??100%送分
- 求教高人指点:cma算法中MSE曲线怎么画
- 关于drawImage方法的应用
你那 Picture 构造函数 有返回什么吗?
在说 也没有 Frame.add(Image)的用法啊?