MyFrame
package swing01;
import java.awt.BorderLayout;
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;
import javax.swing.JPanel;
public class MyFrame extends JFrame {
public MyFrame(String title)
{
super(title);
//内容面板
JPanel root=new JPanel();
this.setContentPane(root);
root.setLayout(new BorderLayout());
//添加菜单
JMenuBar menubar=new JMenuBar();
this.setJMenuBar(menubar);
//菜单01:文件
JMenu fileMenu=new JMenu("文件");
menubar.add(fileMenu);
//菜单项
JMenuItem fileOpenCmd=new JMenuItem("打开");
JMenuItem fileSaveCmd=new JMenuItem("保存");
JMenuItem fileSaveAsCmd=new JMenuItem("另存为...");
JMenuItem fileExitCmd=new JMenuItem("退出");
//添加至菜单01:文件
fileMenu.add(fileOpenCmd);
fileMenu.add(fileSaveCmd);
fileMenu.add(fileSaveAsCmd);
fileMenu.addSeparator();
fileMenu.add(fileExitCmd);
//菜单02:帮助
JMenu helpMenu=new JMenu("帮助");
menubar.add(helpMenu);
//菜单项
JMenuItem helpAbout=new JMenuItem("关于");
JMenuItem helpOpen=new JMenuItem("打开帮助");
//添加至菜单02:帮助
helpMenu.add(helpAbout);
helpMenu.add(helpOpen);
//添加“退出”菜单项 事件
fileExitCmd.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
}
MyDemo
package swing01;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyDemo
{
private static void createGUI()
{
// JFrame指一个窗口,构造方法的参数为窗口标题
JFrame frame = new MyFrame("Swing Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口的其他参数,如窗口大小
frame.setSize(400, 300);
// 显示窗口
frame.setVisible(true);
}
public static void main(String[] args)
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run()
{
createGUI();
}
});
}
}