addJPopupMenu();
setJMenuBar(mb); setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void addFileMenu()
private void addEditMenu() {
m2.add(copy); {
m1.add(open); m1.add(save); m1.add(save_as); m1.addSeparator(); m1.add(exit); m1.setFont(t); m1.add(n);
}
m2.add(cut); m2.addSeparator(); m2.add(paste); m2.setFont(t); }
private void addFormMenu() {
m3.add(f1); m3.add(color); m3.setFont(t);
f1.add(i11); f1.add(i12); f1.add(i13);
color.add(i21); color.add(i22); color.add(i23);
private void addHelpMenu() { }
m4.add(about); m4.setFont(t); }
private void addJMenuBar() {
private void addJPopupMenu() {
editor.add(pm); pm.add(item1); pm.add(item2); pm.add(item3); }
mb.add(m1); mb.add(m2); mb.add(m3); mb.add(m4); }
mb.setBackground(Color.cyan);
public static void main(String arg[]){new JM();} }
import java.io.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.Font.*;
public class JM4 extends JM implements ActionListener,MouseListener { {
/**********监听器接口**********/ n.addActionListener(this); open.addActionListener(this); save.addActionListener(this); save_as.addActionListener(this); exit.addActionListener(this); copy.addActionListener(this); cut.addActionListener(this); paste.addActionListener(this); i11.addActionListener(this); i12.addActionListener(this); i13.addActionListener(this); i21.addActionListener(this); i22.addActionListener(this); i23.addActionListener(this); about.addActionListener(this); item1.addActionListener(this); item2.addActionListener(this); int flag=0; public JM4()
item3.addActionListener(this); editor.addMouseListener(this);
addWindowListener(new windowListener());
/***************编辑区键盘事件******************/ editor.addKeyListener( new KeyAdapter() }
/**************窗口监听器**************/
{
public void windowClosing(WindowEvent e) {
if(flag==0)System.exit(0); else close();
class windowListener extends WindowAdapter {public void keyTyped(KeyEvent e){flag=1;}});
} }
/***************菜单项监听器****************/ public void actionPerformed(ActionEvent e)
if(mi==n) //新建 {
if(flag==0) editor.setText(\ else close2();
if(mi==open) //打开 } {
Font f2=editor.getFont();
JMenuItem mi=(JMenuItem) e.getSource();
{loadFile();}
if(mi==save||mi==save_as) //保存和另存为 {saveFile();}
if(mi==exit) //退出
{if(flag==0)System.exit(0); close();}
if(mi==copy) //复制
{editor.copy();}
if(mi==cut) //剪切
{editor.cut();}
if(mi==paste) //粘贴
{editor.paste();}
if(mi==i11) //字体设置
{editor.setFont(new
java.awt.Font(\
\
if(mi==i12)
{editor.setFont(new
java.awt.Font(\
\
if(mi==i13)
{editor.setFont(new
java.awt.Font(\
\
if(mi==i21) //字体颜色 { editor.setForeground(Color.red); } 宋
体
楷
体
黑
体