package day01;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Java_3
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //用户单击窗口的关闭按钮时程序执行的操作
//*********Found**********
frame.setVisible(true); //让JFrame对象显示出来
}
}
class ImageViewerFrame extends JFrame
{
private JLabel label;
private JLabel labelT;
private JFileChooser chooser;
private JComboBox faceCombo;
private static final int DEFAULT_SIZE = 24;
public static final int DEFAULT_WIDTH = 570;
public static final int DEFAULT_HEIGHT = 400;
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
label = new JLabel(); //创建窗体
Container contentPane = getContentPane(); //创建容器
contentPane.add(label,BorderLayout.CENTER); //设置窗体大小
chooser = new JFileChooser(); //文件选择器
chooser.setCurrentDirectory(new File("."));
JMenuBar menuBar = new JMenuBar(); //菜单条
setJMenuBar(menuBar);
//*********Found**********
JMenu menu = new JMenu("File"); //负责创建菜单
menuBar.add(menu); //将菜单加入菜单条
JMenuItem openItem = new JMenuItem("Open"); //创建子菜单
//*********Found**********
menu.add(openItem); //将子菜单加入菜单条
openItem.addActionListener(new ActionListener() //监听子菜单的点击事件
{
public void actionPerformed(ActionEvent evt)
{
int r = chooser.showOpenDialog(null);
if(r == JFileChooser.APPROVE_OPTION)
{
//*********Found**********
String name = chooser.getSelectedFile().getPath(); //返回选中的文件名
label.setIcon(new ImageIcon(name)); //将返回选中的文件名显示在窗体中
}
}
});
labelT = new JLabel("红军不怕远征难"); //创建一个标签对象
labelT.setFont(new Font("隶书", Font.PLAIN, DEFAULT_SIZE));
contentPane.add(labelT, BorderLayout.NORTH );
faceCombo = new JComboBox(); //创建一个下拉组件对象
faceCombo.setEditable(true);
faceCombo.addItem("隶书");
faceCombo.addItem("华文新魏");
faceCombo.addItem("华文行楷");
faceCombo.addItem("华文隶书");
faceCombo.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//*********Found**********
labelT.setFont(new Font((String)faceCombo.getSelectedItem(),
Font.PLAIN, DEFAULT_SIZE));
}
});
JPanel comboPanel = new JPanel(); //面板容器
comboPanel.add(faceCombo); //将标签放入面板容器中
contentPane.add(comboPanel, BorderLayout.SOUTH); //将面板容器加入窗体中
}
}
标题运行结果如下