📄 notepad_frame1.java
字号:
package notepad;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Date;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JDesktopPane;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;
//**********************************************************************
/**
* <p>Title: </p>
* <p>Description: 编辑器主窗口</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
//**********************************************************************
public class Notepad_Frame1 extends JFrame
{
//********************************************************************
//静态变量
//********************************************************************
/** 子窗口Vector */
static Vector vectorFile = new Vector();
/**
* private static final String mac = "com.sun.java.swing.plaf.mac.MacLookAndFeel";
*/
/** JAVA风格 */
private static final String metal = "javax.swing.plaf.metal.MetalLookAndFeel";
/** motif风格 */
private static final String motif = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
/** windows风格 */
private static final String windows = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
// 定义窗口风格变量
private static String currentLookAndFeel = metal;
//********************************************************************
//private变量
//********************************************************************
/** 主窗口容器 */
public JDesktopPane desktopPane = null;
/** 子窗口容器 */
public JInternalFrame internalFrame = null;
/** 子窗口个数同时用于显示于默认子窗口文???? */
private int count = 1;
/** 子窗口 */
private newInteface selectFrame = null;
/** 主容器面板 */
private JPanel contentPane = new JPanel();
/** 菜单栏 */
private JMenuBar jMenuBar1 = new JMenuBar();
/** 菜单栏(帮助) */
private JMenu jMenuHelp = new JMenu();
/** 菜单栏(文件) */
private JMenu jMenuFile = new JMenu();
/** 菜单栏(编辑) */
private JMenu jMenuEdit = new JMenu();
/** 菜单栏(视图) */
private JMenu jMenuView = new JMenu();
/** 菜单栏(外观) */
private JMenu jMenuWaiGuan = new JMenu();
/** 菜单栏(格式) */
private JMenu jMenuFormat = new JMenu();
/** 菜单栏(退出) */
private JMenuItem jMenuFileExit = new JMenuItem();
/** 菜单栏(关于) */
private JMenuItem jMenuHelpAbout = new JMenuItem();
/** 工具栏 */
private JToolBar jToolBar = new JToolBar();
/** 工具栏打开按键 */
private JButton jButtonOpen = new JButton();
/** 工具栏关闭按键 */
private JButton jButtonClose = new JButton();
/** 工具栏保存按键 */
public JButton jButtonSave = new JButton();
/** 工具栏撤消按键 */
private JButton jButtonUndo = new JButton();
/** 工具栏重做按键 */
private JButton jButtonRedo = new JButton();
/** 工具栏拷贝按键 */
public JButton jButtonCopy = new JButton();
/** 工具栏粘贴按键 */
public JButton jButtonPaste = new JButton();
/** 工具栏剪切按键 */
public JButton jButtonCut = new JButton();
/** 工具栏帮助按键 */
private JButton jButtonHelp = new JButton();
/** 工具栏新建按键 */
private JButton jButtonNew = new JButton();
/** 打开文件图键 */
private ImageIcon imageOpenFile;
/** 关闭文件图键 */
private ImageIcon imageCloseFile;
/** 帮助图标 */
private ImageIcon imageHelp;
/** 保存文件图标 */
private ImageIcon imageSave;
/** 撤消图标 */
private ImageIcon imageUndo;
/** 重做图标 */
private ImageIcon imageRedo;
/** 拷贝图标 */
private ImageIcon imageCopy;
/** 粘贴图标 */
private ImageIcon imagePaste;
/** 剪切图标 */
private ImageIcon imageCut;
/** 新建图标 */
private ImageIcon imageNew;
/** 标题图标 */
private Image imageTitle;
/** 窗口布局 */
private BorderLayout borderLayout1 = new BorderLayout();
/** 菜单项(打开) */
private JMenuItem jMenuFileOpen = new JMenuItem();
/** 菜单项(新建) */
private JMenuItem jMenuFileNew = new JMenuItem();
/** 菜单项(保存) */
public JMenuItem jMenuFileSave = new JMenuItem();
/** 菜单项(另存为) */
public JMenuItem jMenuFileSaveAs = new JMenuItem();
/** 菜单项(页面设置) */
private JMenuItem jMenuPageSetup = new JMenuItem();
/** 菜单项(打印) */
private JMenuItem jMenuFilePrint = new JMenuItem();
/** 菜单项(重做) */
private JMenuItem jMenuEditUndo = new JMenuItem();
/** 菜单项(剪切) */
public JMenuItem jMenuEditCut = new JMenuItem();
/** 菜单项(拷贝) */
public JMenuItem jMenuEditCopy = new JMenuItem();
/** 菜单项(粘贴) */
public JMenuItem jMenuEditPaste = new JMenuItem();
/** 菜单项(删除) */
private JMenuItem jMenuEditDelete = new JMenuItem();
/** 菜单项(字休) */
private JMenuItem jMenuFormatFont = new JMenuItem();
/** 菜单项(查找) */
public JMenuItem jMenuFind = new JMenuItem();
/** 菜单项(查找并替换) */
public JMenuItem jMenuFindReplace = new JMenuItem();
/** 菜单项(状态栏) */
private JCheckBoxMenuItem jCheckBoxMenuViewStatusBar = new JCheckBoxMenuItem();
/** 菜单项(工具栏) */
private JCheckBoxMenuItem jCheckBoxMenuViewToolBar = new JCheckBoxMenuItem();
/** 菜单项(全选) */
public JMenuItem jMenuEditSelectAll = new JMenuItem();
/** 菜单项(java风格) */
private JRadioButtonMenuItem jRadioButtonMenuJava = new JRadioButtonMenuItem();
/** 菜单项(motif风格) */
private JRadioButtonMenuItem jRadioButtonMenuMotif = new JRadioButtonMenuItem();
/** 菜单项(windows风格) */
private JRadioButtonMenuItem jRadioButtonMenuWindows = new JRadioButtonMenuItem();
/** 状态栏面板 */
private JPanel jPanelstatus = new JPanel();
/** 网格布局 */
private GridLayout gridLayout1 = new GridLayout();
/** 状态栏标签 */
private JLabel statusBar = new JLabel();
/** 状态栏标签(显示时间) */
private JLabel statusBarTime = new JLabel();
/** 状态栏标签(显示坐标) */
public JLabel statusBarXY = new JLabel();
/** 当前日期及时间 */
private Date time = new Date();
/** JFileChooser filechooser = new JFileChooser(); */
/** 文件 */
private File file = null;
/** changeTextArea等于true表示文本内容改变,关闭时需提示保存,fals则没有改变 */
public boolean chanageTextArea = false;
//********************************************************************
//方法定义
//********************************************************************
//********************************************************************
/**
* 构造方法
*
*/
//********************************************************************
public Notepad_Frame1()
{
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
//********************************************************************
//public方法
//********************************************************************
//********************************************************************
/**
* 初始化变量
*
* @exception Exception
*
*/
//********************************************************************
private void jbInit() throws Exception
{
desktopPane = new JDesktopPane();
internalFrame = new JInternalFrame();
Toolkit kt = Toolkit.getDefaultToolkit();
//窗口左上角图标加载
imageTitle = kt.getImage(notepad.Notepad_Frame1.class.getResource("ImageTitle1.gif"));
System.out.println(kt.getScreenSize());
//窗口左上角图标设置
this.setIconImage(imageTitle);
//图标装载
imageOpenFile = new ImageIcon(notepad.Notepad_Frame1.class.getResource("openFile.png"));
imageCloseFile = new ImageIcon(notepad.Notepad_Frame1.class.getResource("closeFile.png"));
imageHelp = new ImageIcon(notepad.Notepad_Frame1.class.getResource("help.png"));
imageSave = new ImageIcon(notepad.Notepad_Frame1.class.getResource("saveFile.gif"));
imageUndo = new ImageIcon(notepad.Notepad_Frame1.class.getResource("undo.gif"));
imageRedo = new ImageIcon(notepad.Notepad_Frame1.class.getResource("redo.gif"));
imageCopy = new ImageIcon(notepad.Notepad_Frame1.class.getResource("copy.gif"));
imagePaste = new ImageIcon(notepad.Notepad_Frame1.class.getResource("paste.gif"));
imageCut = new ImageIcon(notepad.Notepad_Frame1.class.getResource("cut.gif"));
imageNew = new ImageIcon(notepad.Notepad_Frame1.class.getResource("newFile.gif"));
contentPane = (JPanel)this.getContentPane();
//主容器布局设置
contentPane.setLayout(borderLayout1);
//屏幕的窥胰取得
int notepad_Frame1Width = Toolkit.getDefaultToolkit().getScreenSize().width;
//屏幕的长度取得
int notepad_Frame1Height = Toolkit.getDefaultToolkit().getScreenSize().height-20;
//设置主容器大小为屏幕的大小
this.setSize(new Dimension(notepad_Frame1Width, notepad_Frame1Height));
//设置程序标题栏
this.setTitle("JHelper");
jMenuFile.setToolTipText("");
jMenuFile.setText("文件");
jMenuFileExit.setText("Exit");
//退出系统快捷设置(Ctrl+W)
jMenuFileExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke('W',KeyEvent.CTRL_MASK, false));
jMenuFileExit.addActionListener(new Notepad_Frame1_jMenuFileExit_ActionAdapter(this));
jMenuHelp.setToolTipText("");
jMenuHelp.setText("帮助");
jMenuHelpAbout.setToolTipText("");
jMenuHelpAbout.setText("关于...");
//帮助快捷设置(Ctrl+H)
jMenuHelpAbout.setAccelerator(javax.swing.KeyStroke.getKeyStroke('H',KeyEvent.CTRL_MASK, false));
jMenuHelpAbout.addActionListener(new Notepad_Frame1_jMenuHelpAbout_ActionAdapter(this));
jButtonOpen.setIcon(imageOpenFile);
jButtonOpen.addActionListener(new Notepad_Frame1_jButtonOpen_actionAdapter(this));
jButtonOpen.setToolTipText("打开(Ctrl+O)");
jButtonClose.setIcon(imageCloseFile);
jButtonClose.addActionListener(new Notepad_Frame1_jButtonClose_actionAdapter(this));
jButtonClose.setToolTipText("关闭(Ctrl+W)");
jButtonHelp.setIcon(imageHelp);
jButtonHelp.addActionListener(new Notepad_Frame1_jButtonHelp_actionAdapter(this));
//工具栏帮助快捷键大小设置
jButtonHelp.setMaximumSize(new Dimension(28, 28));
jButtonHelp.setMinimumSize(new Dimension(28, 28));
jButtonHelp.setToolTipText("帮助");
jButtonSave.setIcon(imageSave);
jButtonSave.setEnabled(false);
jMenuFileOpen.setToolTipText("");
jMenuFileOpen.setText("打开...");
//打开快捷键设置(Ctrl+O)
jMenuFileOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke('O',java.awt.event.KeyEvent.CTRL_MASK, false));
jMenuFileOpen.addActionListener(new Notepad_Frame1_jMenuFileOpen_actionAdapter(this));
jMenuFileNew.setToolTipText("");
jMenuFileNew.setText("新建");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -