?? 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 + -