package beok;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JFileChooser;
import java.awt.event.InputEvent;
import javax.swing.KeyStroke;
import javax.swing.event.DocumentListener;
import javax.swing.event.DocumentEvent; //快捷键的包
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author Somany.King
* @version 1.0
*/
public class MainFrame extends JFrame {
JPanel contentPane;
JScrollPane jScrollPane = new JScrollPane();
JTextArea txtArea = new JTextArea();
JMenuBar mnuBar = new JMenuBar();
JMenu mnuFile = new JMenu();
JMenu mnuEdit = new JMenu();
JMenu mnuFormat = new JMenu();
JMenu mnuSearch = new JMenu();
JMenu mnuHelp = new JMenu();
public static boolean statement = false; //功能锁定标志位
/*FILE菜单的子菜单*/
JMenuItem mnuOpen = new JMenuItem();
JMenuItem mnuNew = new JMenuItem();
JMenuItem mnuSave = new JMenuItem();
JMenuItem mnuSaveAs = new JMenuItem();
JMenuItem mnuPrint = new JMenuItem();
JMenuItem mnuExit = new JMenuItem();
/*EDIT菜单的子菜单*/
JMenuItem mnuCopy = new JMenuItem();
JMenuItem mnuPaste = new JMenuItem();
JMenuItem mnuCut = new JMenuItem();
/*Format菜单的子菜单*/
JMenuItem mnuBgcolor = new JMenuItem();
JMenuItem mnuFont = new JMenuItem();
/*Search菜单的子菜单*/
JMenuItem mnuSearchIt = new JMenuItem();
/*Help菜单的子菜单*/
JMenuItem mnuAbout = new JMenuItem();
BorderLayout borderLayout1 = new BorderLayout();
File file =null; //临时存放文件对象
boolean textChanged=false; //用来判断原来的文本是否被改变 的标志
public MainFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
this.setJMenuBar(mnuBar);
setSize(new Dimension(543, 434));
setTitle("Frame Title");
this.mnuSearch.setVisible(this.statement); //隐藏mnuSearch和mnuFont菜单
this.mnuFont.setVisible(this.statement);
txtArea.setText("");
mnuFile.setText("FILE"); //对各菜单起名字
mnuEdit.setText("EDIT");
mnuFormat.setText("FORMAT");
mnuSearch.setText("SEARCH");
mnuHelp.setText("HELP");
FileListener mnuFileListen = new FileListener(this); //产生一个只监听FILE菜单的对象
EditListener mnuEditListen = new EditListener(this); //产生一个只监听EDIT菜单的对象
FormatListener mnuFormatListen = new FormatListener(this);//监听Format菜单的对像
SearchListener mnuSearchListen = new SearchListener(this);//监听Search菜单的对像
HelpListener mnuAboutMe = new HelpListener(this);
mnuNew.setText("NEW");
mnuOpen.setText("OPEN");
mnuSave.setText("SAVE");
mnuSaveAs.setText("SAVE AS");
mnuPrint.setText("PRINT");
mnuExit.setText("EXIT");
/*对FILE菜单的各子菜单进行监听*/
mnuOpen.addActionListener(mnuFileListen); //让OPEN菜单被监听
mnuSave.addActionListener(mnuFileListen); //让SAVE菜单被监听
mnuSaveAs.addActionListener(mnuFileListen); //让SAVE AS 菜单被监听
mnuPrint.addActionListener(mnuFileListen); //让PRINT菜单被监听
mnuExit.addActionListener(mnuFileListen); //让EXIT菜单被监听
mnuNew.addActionListener(mnuFileListen); //让NEW菜单被监听
/*命名*/
mnuCopy.setText("COPY");
mnuPaste.setText("PASTE");
mnuCut.setText("CUT");
/*菜单EDIT各子菜单的快捷键*/
mnuCut.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK));
mnuCopy.setAccelerator(KeyStroke.getKeyStroke('C',InputEvent.CTRL_MASK));
mnuPaste.setAccelerator(KeyStroke.getKeyStroke('V',InputEvent.CTRL_MASK));
/*对EDIT菜单的各子菜单进行监听*/
mnuCopy.addActionListener(mnuEditListen);
mnuPaste.addActionListener(mnuEditListen);
mnuCut.addActionListener(mnuEditListen);
/*对Format菜单的各子菜单进行监听*/
mnuBgcolor.addActionListener(mnuFormatListen);
mnuFont.addActionListener(mnuFormatListen);
mnuBgcolor.setText("BGCOLOR");
mnuFont.setText("FONT");
/*mnuSearch菜单的子菜单命名*/
mnuSearchIt.setText("SEARCH");
/*让其被监听*/
mnuSearchIt.addActionListener(mnuSearchListen);
/*对Help菜单的监听*/
mnuAbout.setText("ABOUT-ME");
mnuAbout.addActionListener(mnuAboutMe);
/*对文本进行监听-------注意:DocumentListener是一个抽像类,使用前必须将其具体化
这里在addDoucmentListener的小括号里 生成一个对象的同时并定义了他的各种方法(即对他的方法具体化)*/
this.txtArea.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) { //如果查入 即为文本被修改
textChanged = true;
}
public void removeUpdate(DocumentEvent e) { //如果删除 即为文本被修改
textChanged = true;
}
public void changedUpdate(DocumentEvent e) { //不大理解
}
});
mnuBar.add(mnuFile); //各菜单添加子菜单
mnuBar.add(mnuEdit);
mnuBar.add(mnuFormat);
mnuBar.add(mnuSearch);
mnuBar.add(mnuHelp);
mnuFile.add(mnuNew);
mnuFile.add(mnuOpen);
mnuFile.add(mnuSave);
mnuFile.add(mnuSaveAs);
mnuFile.addSeparator();
mnuFile.add(mnuPrint);
mnuFile.add(mnuExit);
contentPane.add(jScrollPane,java.awt.BorderLayout.CENTER);
jScrollPane.getViewport().add(txtArea);
mnuEdit.add(mnuCopy);
mnuEdit.add(mnuPaste);
mnuEdit.add(mnuCut);
mnuFormat.add(mnuBgcolor);
mnuFormat.add(mnuFont);
mnuSearch.add(mnuSearchIt);
mnuHelp.add(mnuAbout);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java记事本
共115个文件
class:18个
java:13个
java~2~:8个
需积分: 0 59 下载量 118 浏览量
2008-04-23
05:17:24
上传
评论
收藏 123KB RAR 举报
温馨提示
适合Java GUI开发<br> Swing
资源详情
资源评论
资源推荐
收起资源包目录
java记事本 (115个子文件)
MainFrame.class 5KB
MenuFileAction.class 4KB
FontDialog.class 4KB
MnuSearchAction.class 2KB
MenuHelpAction.class 2KB
MenuFormatAction.class 1KB
MainApplication.class 1KB
FileListener.class 1KB
EditListener.class 1023B
FormatListener.class 989B
MenuFileAction$1.class 865B
MainFrame$1.class 835B
MenuEditAction.class 759B
MainApplication$1.class 734B
SearchListener.class 696B
HelpListener.class 684B
FontDialog_btnYes_actionAdapter.class 660B
FontDialog_btnNo_actionAdapter.class 657B
beok.dep2 22KB
BeOk.html 853B
MainFrame.java 7KB
MenuFileAction.java 6KB
FontDialog.java 4KB
MainApplication.java 2KB
MenuHelpAction.java 2KB
MnuSearchAction.java 1KB
FileListener.java 1KB
MenuFormatAction.java 1KB
EditListener.java 922B
FormatListener.java 860B
MenuEditAction.java 751B
HelpListener.java 613B
SearchListener.java 592B
MnuSearchAction.java~10~ 1KB
MenuHelpAction.java~10~ 1KB
FontListener.java~10~ 627B
MnuSearchAction.java~11~ 1KB
MenuHelpAction.java~11~ 1KB
MenuHelpAction.java~12~ 1KB
MnuSearchAction.java~12~ 1KB
MnuSearchAction.java~13~ 1KB
MnuSearchAction.java~14~ 1KB
MnuSearchAction.java~15~ 1KB
MnuSearchAction.java~16~ 1KB
MnuSearchAction.java~17~ 1KB
MnuSearchAction.java~18~ 1KB
MnuSearchAction.java~19~ 1KB
MainApplication.java~1~ 2KB
HelpListener.java~1~ 593B
EditListener.java~1~ 561B
FileListener.java~1~ 548B
FontListener.java~1~ 495B
MenuEditAction.java~1~ 495B
MenuFormatAction.java~1~ 426B
FontDialog.java~26~ 4KB
FontDialog.java~27~ 4KB
FontDialog.java~28~ 4KB
FontDialog.java~29~ 4KB
MainApplication.java~2~ 2KB
MenuFormatAction.java~2~ 978B
MnuSearchAction.java~2~ 903B
FileListener.java~2~ 694B
MenuEditAction.java~2~ 658B
MenuHelpAction.java~2~ 629B
HelpListener.java~2~ 587B
FontListener.java~2~ 561B
FontDialog.java~30~ 4KB
FontDialog.java~31~ 4KB
FontDialog.java~32~ 4KB
FontDialog.java~33~ 4KB
FontDialog.java~34~ 4KB
FontDialog.java~35~ 4KB
FileListener.java~3~ 1KB
MenuFormatAction.java~3~ 986B
MenuHelpAction.java~3~ 730B
FontListener.java~3~ 612B
HelpListener.java~3~ 604B
MainFrame.java~44~ 6KB
MainFrame.java~45~ 6KB
MainFrame.java~46~ 6KB
MainFrame.java~47~ 6KB
MainFrame.java~48~ 6KB
MainFrame.java~49~ 6KB
MenuFormatAction.java~4~ 1KB
MenuHelpAction.java~4~ 784B
FontListener.java~4~ 614B
MainFrame.java~50~ 6KB
MainFrame.java~51~ 6KB
MainFrame.java~52~ 6KB
MainFrame.java~53~ 7KB
MenuFormatAction.java~5~ 1KB
MenuHelpAction.java~5~ 784B
FontListener.java~5~ 617B
MenuHelpAction.java~6~ 784B
FontListener.java~6~ 627B
MenuFileAction.java~70~ 5KB
MenuFileAction.java~71~ 5KB
MenuFileAction.java~72~ 5KB
MenuFileAction.java~73~ 5KB
MenuFileAction.java~74~ 6KB
共 115 条
- 1
- 2
accps1
- 粉丝: 11
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0