import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
public class ImageViewer extends JFrame //JFrame 是swing的子类
implements ActionListener{ //顾名思义它实现一个已经定义好的接口中的方法
public ImageViewer()
{ setTitle("ImageViewer Modified by Bushido");//设置窗体的title
setSize(300, 400); //设置窗体的size JMenuBar mbar = new JMenuBar(); //JMenuBar是JMenu的容器
JMenu m = new JMenu("File"); //JMenu是JMenuItem的容器
openItem = new JMenuItem("Open");//建立新的JMenuItem实例
openItem.addActionListener(this); //响应事件
m.add(openItem);//将JMenuItem加入到JMenu里
exitItem = new JMenuItem("Exit");//建立新的JMenuItem实例
exitItem.addActionListener(this);//为exitItem项目注册事件侦听器
m.add(exitItem);//将JMenuItem加入到JMenu里
mbar.add(m);//将JMenu加入到JMenuBar
setJMenuBar(mbar);//将JMenuBar加入到ImageViewer成为ImageViewer的工具菜单 label = new JLabel();//建立JLabel实例
Container contentPane = getContentPane();//获取当前JFrame的容器
contentPane.add(label, "Center");//加入label
} public void actionPerformed(ActionEvent evt)
{ Object source = evt.getSource();//获取激活事件的源
if (source == openItem)//如果是openItem
{ JFileChooser chooser = new JFileChooser();//建立JFileChooser实例
chooser.setCurrentDirectory(new File("."));//设置JFileChooser实例的当前目录 chooser.setFileFilter(new
javax.swing.filechooser.FileFilter()//设置文件过滤器,显示.gif文件和目录
{ public boolean accept(File f)
{ return f.getName().toLowerCase()
.endsWith(".gif")
|| f.isDirectory();
}
public String getDescription()
{ return "GIF Images";
}
}); int r = chooser.showOpenDialog(this);//打开文件选择对话框
if(r == JFileChooser.APPROVE_OPTION)//确定
{ String name
= chooser.getSelectedFile().getName();//获取选择的文件名
label.setIcon(new ImageIcon(name));//在label上显示选择的.gif图象
}
}
else if (source == exitItem) System.exit(0);//如果源为exitItem则退出系统
} public static void main(String[] args)
{ JFrame frame = new ImageViewer();//建立ImageViewer实例
frame.show();//显示
} private JLabel label;
private JMenuItem openItem;
private JMenuItem exitItem;
}
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
public class ImageViewer extends JFrame //JFrame 是swing的子类
implements ActionListener{ //顾名思义它实现一个已经定义好的接口中的方法
public ImageViewer()
{ setTitle("ImageViewer Modified by Bushido");//设置窗体的title
setSize(300, 400); //设置窗体的size JMenuBar mbar = new JMenuBar(); //JMenuBar是JMenu的容器
JMenu m = new JMenu("File"); //JMenu是JMenuItem的容器
openItem = new JMenuItem("Open");//建立新的JMenuItem实例
openItem.addActionListener(this); //响应事件
m.add(openItem);//将JMenuItem加入到JMenu里
exitItem = new JMenuItem("Exit");//建立新的JMenuItem实例
exitItem.addActionListener(this);//为exitItem项目注册事件侦听器
m.add(exitItem);//将JMenuItem加入到JMenu里
mbar.add(m);//将JMenu加入到JMenuBar
setJMenuBar(mbar);//将JMenuBar加入到ImageViewer成为ImageViewer的工具菜单 label = new JLabel();//建立JLabel实例
Container contentPane = getContentPane();//获取当前JFrame的容器
contentPane.add(label, "Center");//加入label
} public void actionPerformed(ActionEvent evt)
{ Object source = evt.getSource();//获取激活事件的源
if (source == openItem)//如果是openItem
{ JFileChooser chooser = new JFileChooser();//建立JFileChooser实例
chooser.setCurrentDirectory(new File("."));//设置JFileChooser实例的当前目录 chooser.setFileFilter(new
javax.swing.filechooser.FileFilter()//设置文件过滤器,显示.gif文件和目录
{ public boolean accept(File f)
{ return f.getName().toLowerCase()
.endsWith(".gif")
|| f.isDirectory();
}
public String getDescription()
{ return "GIF Images";
}
}); int r = chooser.showOpenDialog(this);//打开文件选择对话框
if(r == JFileChooser.APPROVE_OPTION)//确定
{ String name
= chooser.getSelectedFile().getName();//获取选择的文件名
label.setIcon(new ImageIcon(name));//在label上显示选择的.gif图象
}
}
else if (source == exitItem) System.exit(0);//如果源为exitItem则退出系统
} public static void main(String[] args)
{ JFrame frame = new ImageViewer();//建立ImageViewer实例
frame.show();//显示
} private JLabel label;
private JMenuItem openItem;
private JMenuItem exitItem;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货