📄 notepad.jad
字号:
// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 2009-2-15 PM 06:46:07
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: Notepad.java
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.io.*;
import java.util.Calendar;
import java.util.Date;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.Document;
import javax.swing.undo.CannotUndoException;
import javax.swing.undo.UndoManager;
public class Notepad extends JFrame
implements ActionListener, DocumentListener
{
class UndoHandler
implements UndoableEditListener
{
public void undoableEditHappened(UndoableEditEvent undoableeditevent)
{
undo.addEdit(undoableeditevent.getEdit());
}
final Notepad this$0;
UndoHandler()
{
this$0 = Notepad.this;
super();
}
}
public Notepad()
{
super("\u5F20\u9009\u4EF2\u7684\u8BB0\u4E8B\u672C");
toolkit = Toolkit.getDefaultToolkit();
clipBoard = toolkit.getSystemClipboard();
undo = new UndoManager();
undoHandler = new UndoHandler();
isNewFile = true;
JMenuBar jmenubar = new JMenuBar();
fileMenu = new JMenu("\u6587\u4EF6(F)");
fileMenu.setMnemonic('F');
fileMenu_New = new JMenuItem("\u65B0\u5EFA(N)");
fileMenu_New.setAccelerator(KeyStroke.getKeyStroke(78, 2));
fileMenu_New.addActionListener(this);
fileMenu_Open = new JMenuItem("\u6253\u5F00(O)...");
fileMenu_Open.setAccelerator(KeyStroke.getKeyStroke(79, 2));
fileMenu_Open.addActionListener(this);
fileMenu_Save = new JMenuItem("\u4FDD\u5B58(S)");
fileMenu_Save.setAccelerator(KeyStroke.getKeyStroke(83, 2));
fileMenu_Save.addActionListener(this);
fileMenu_SaveAs = new JMenuItem("\u53E6\u5B58\u4E3A(A)...");
fileMenu_SaveAs.addActionListener(this);
fileMenu_PageSetUp = new JMenuItem("\u9875\u9762\u8BBE\u7F6E(U)...");
fileMenu_PageSetUp.addActionListener(this);
fileMenu_Print = new JMenuItem("\u6253\u5370(P)...");
fileMenu_Print.setAccelerator(KeyStroke.getKeyStroke(80, 2));
fileMenu_Print.addActionListener(this);
fileMenu_Exit = new JMenuItem("\u9000\u51FA(X)");
fileMenu_Exit.addActionListener(this);
editMenu = new JMenu("\u7F16\u8F91(E)");
editMenu.setMnemonic('E');
editMenu.addMenuListener(new MenuListener() {
public void menuCanceled(MenuEvent menuevent)
{
checkMenuItemEnabled();
}
public void menuDeselected(MenuEvent menuevent)
{
checkMenuItemEnabled();
}
public void menuSelected(MenuEvent menuevent)
{
checkMenuItemEnabled();
}
final Notepad this$0;
{
this$0 = Notepad.this;
super();
}
});
editMenu_Undo = new JMenuItem("\u64A4\u9500(U)");
editMenu_Undo.setAccelerator(KeyStroke.getKeyStroke(90, 2));
editMenu_Undo.addActionListener(this);
editMenu_Undo.setEnabled(false);
editMenu_Cut = new JMenuItem("\u526A\u5207(T)");
editMenu_Cut.setAccelerator(KeyStroke.getKeyStroke(88, 2));
editMenu_Cut.addActionListener(this);
editMenu_Copy = new JMenuItem("\u590D\u5236(C)");
editMenu_Copy.setAccelerator(KeyStroke.getKeyStroke(67, 2));
editMenu_Copy.addActionListener(this);
editMenu_Paste = new JMenuItem("\u7C98\u8D34(P)");
editMenu_Paste.setAccelerator(KeyStroke.getKeyStroke(86, 2));
editMenu_Paste.addActionListener(this);
editMenu_Delete = new JMenuItem("\u5220\u9664(D)");
editMenu_Delete.setAccelerator(KeyStroke.getKeyStroke(127, 0));
editMenu_Delete.addActionListener(this);
editMenu_Find = new JMenuItem("\u67E5\u627E(F)...");
editMenu_Find.setAccelerator(KeyStroke.getKeyStroke(70, 2));
editMenu_Find.addActionListener(this);
editMenu_FindNext = new JMenuItem("\u67E5\u627E\u4E0B\u4E00\u4E2A(N)");
editMenu_FindNext.setAccelerator(KeyStroke.getKeyStroke(114, 0));
editMenu_FindNext.addActionListener(this);
editMenu_Replace = new JMenuItem("\u66FF\u6362(R)...", 82);
editMenu_Replace.setAccelerator(KeyStroke.getKeyStroke(72, 2));
editMenu_Replace.addActionListener(this);
editMenu_GoTo = new JMenuItem("\u8F6C\u5230(G)...", 71);
editMenu_GoTo.setAccelerator(KeyStroke.getKeyStroke(71, 2));
editMenu_GoTo.addActionListener(this);
editMenu_SelectAll = new JMenuItem("\u5168\u9009", 65);
editMenu_SelectAll.setAccelerator(KeyStroke.getKeyStroke(65, 2));
editMenu_SelectAll.addActionListener(this);
editMenu_TimeDate = new JMenuItem("\u65F6\u95F4/\u65E5\u671F(D)", 68);
editMenu_TimeDate.setAccelerator(KeyStroke.getKeyStroke(116, 0));
editMenu_TimeDate.addActionListener(this);
formatMenu = new JMenu("\u683C\u5F0F(O)");
formatMenu.setMnemonic('O');
formatMenu_LineWrap = new JCheckBoxMenuItem("\u81EA\u52A8\u6362\u884C(W)");
formatMenu_LineWrap.setMnemonic('W');
formatMenu_LineWrap.setState(true);
formatMenu_LineWrap.addActionListener(this);
formatMenu_Font = new JMenuItem("\u5B57\u4F53(F)...");
formatMenu_Font.addActionListener(this);
viewMenu = new JMenu("\u67E5\u770B(V)");
viewMenu.setMnemonic('V');
viewMenu_Status = new JCheckBoxMenuItem("\u72B6\u6001\u680F(S)");
viewMenu_Status.setMnemonic('S');
viewMenu_Status.setState(true);
viewMenu_Status.addActionListener(this);
helpMenu = new JMenu("\u5E2E\u52A9(H)");
helpMenu.setMnemonic('H');
helpMenu_HelpTopics = new JMenuItem("\u5E2E\u52A9\u4E3B\u9898(H)");
helpMenu_HelpTopics.setAccelerator(KeyStroke.getKeyStroke(112, 0));
helpMenu_HelpTopics.addActionListener(this);
helpMenu_AboutNotepad = new JMenuItem("\u5173\u4E8E\u8BB0\u4E8B\u672C(A)");
helpMenu_AboutNotepad.addActionListener(this);
jmenubar.add(fileMenu);
fileMenu.add(fileMenu_New);
fileMenu.add(fileMenu_Open);
fileMenu.add(fileMenu_Save);
fileMenu.add(fileMenu_SaveAs);
fileMenu.addSeparator();
fileMenu.add(fileMenu_PageSetUp);
fileMenu.add(fileMenu_Print);
fileMenu.addSeparator();
fileMenu.add(fileMenu_Exit);
jmenubar.add(editMenu);
editMenu.add(editMenu_Undo);
editMenu.addSeparator();
editMenu.add(editMenu_Cut);
editMenu.add(editMenu_Copy);
editMenu.add(editMenu_Paste);
editMenu.add(editMenu_Delete);
editMenu.addSeparator();
editMenu.add(editMenu_Find);
editMenu.add(editMenu_FindNext);
editMenu.add(editMenu_Replace);
editMenu.add(editMenu_GoTo);
editMenu.addSeparator();
editMenu.add(editMenu_SelectAll);
editMenu.add(editMenu_TimeDate);
jmenubar.add(formatMenu);
formatMenu.add(formatMenu_LineWrap);
formatMenu.add(formatMenu_Font);
jmenubar.add(viewMenu);
viewMenu.add(viewMenu_Status);
jmenubar.add(helpMenu);
helpMenu.add(helpMenu_HelpTopics);
helpMenu.addSeparator();
helpMenu.add(helpMenu_AboutNotepad);
setJMenuBar(jmenubar);
editArea = new JTextArea(20, 50);
JScrollPane jscrollpane = new JScrollPane(editArea);
jscrollpane.setVerticalScrollBarPolicy(22);
add(jscrollpane, "Center");
editArea.setWrapStyleWord(true);
editArea.setLineWrap(true);
oldValue = editArea.getText();
editArea.getDocument().addUndoableEditListener(undoHandler);
editArea.getDocument().addDocumentListener(this);
popupMenu = new JPopupMenu();
popupMenu_Undo = new JMenuItem("\u64A4\u9500(U)");
popupMenu_Cut = new JMenuItem("\u526A\u5207(T)");
popupMenu_Copy = new JMenuItem("\u590D\u5236(C)");
popupMenu_Paste = new JMenuItem("\u7C98\u5E16(P)");
popupMenu_Delete = new JMenuItem("\u5220\u9664(D)");
popupMenu_SelectAll = new JMenuItem("\u5168\u9009(A)");
popupMenu_Undo.setEnabled(false);
popupMenu.add(popupMenu_Undo);
popupMenu.addSeparator();
popupMenu.add(popupMenu_Cut);
popupMenu.add(popupMenu_Copy);
popupMenu.add(popupMenu_Paste);
popupMenu.add(popupMenu_Delete);
popupMenu.addSeparator();
popupMenu.add(popupMenu_SelectAll);
popupMenu_Undo.addActionListener(this);
popupMenu_Cut.addActionListener(this);
popupMenu_Copy.addActionListener(this);
popupMenu_Paste.addActionListener(this);
popupMenu_Delete.addActionListener(this);
popupMenu_SelectAll.addActionListener(this);
editArea.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent mouseevent)
{
if(mouseevent.isPopupTrigger())
popupMenu.show(mouseevent.getComponent(), mouseevent.getX(), mouseevent.getY());
checkMenuItemEnabled();
editArea.requestFocus();
}
public void mouseReleased(MouseEvent mouseevent)
{
if(mouseevent.isPopupTrigger())
popupMenu.show(mouseevent.getComponent(), mouseevent.getX(), mouseevent.getY());
checkMenuItemEnabled();
editArea.requestFocus();
}
final Notepad this$0;
{
this$0 = Notepad.this;
super();
}
});
statusLabel = new JLabel("\u3000\u6309F1\u83B7\u53D6\u5E2E\u52A9");
add(statusLabel, "South");
setLocation(100, 100);
setSize(650, 550);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowevent)
{
exitWindowChoose();
}
final Notepad this$0;
{
this$0 = Notepad.this;
super();
}
});
checkMenuItemEnabled();
editArea.requestFocus();
}
public void checkMenuItemEnabled()
{
String s = editArea.getSelectedText();
if(s == null)
{
editMenu_Cut.setEnabled(false);
popupMenu_Cut.setEnabled(false);
editMenu_Copy.setEnabled(false);
popupMenu_Copy.setEnabled(false);
editMenu_Delete.setEnabled(false);
popupMenu_Delete.setEnabled(false);
} else
{
editMenu_Cut.setEnabled(true);
popupMenu_Cut.setEnabled(true);
editMenu_Copy.setEnabled(true);
popupMenu_Copy.setEnabled(true);
editMenu_Delete.setEnabled(true);
popupMenu_Delete.setEnabled(true);
}
Transferable transferable = clipBoard.getContents(this);
if(transferable == null)
{
editMenu_Paste.setEnabled(false);
popupMenu_Paste.setEnabled(false);
} else
{
editMenu_Paste.setEnabled(true);
popupMenu_Paste.setEnabled(true);
}
}
public void exitWindowChoose()
{
editArea.requestFocus();
String s = editArea.getText();
if(s.equals(oldValue))
{
System.exit(0);
} else
{
int i = JOptionPane.showConfirmDialog(this, "\u60A8\u7684\u6587\u4EF6\u5C1A\u672A\u4FDD\u5B58\uFF0C\u662F\u5426\u4FDD\u5B58\uFF1F", "\u9000\u51FA\u63D0\u793A", 1);
if(i == 0)
{
if(isNewFile)
{
Object obj = null;
JFileChooser jfilechooser = new JFileChooser();
jfilechooser.setFileSelectionMode(0);
jfilechooser.setApproveButtonText("\u786E\u5B9A");
jfilechooser.setDialogTitle("\u53E6\u5B58\u4E3A");
int j = jfilechooser.showSaveDialog(this);
if(j == 1)
{
statusLabel.setText("\u3000\u60A8\u6CA1\u6709\u4FDD\u5B58\u6587\u4EF6");
return;
}
File file = jfilechooser.getSelectedFile();
if(file == null || file.getName().equals(""))
JOptionPane.showMessageDialog(this, "\u4E0D\u5408\u6CD5\u7684\u6587\u4EF6\u540D", "\u4E0D\u5408\u6CD5\u7684\u6587\u4EF6\u540D", 0);
else
try
{
FileWriter filewriter1 = new FileWriter(file);
BufferedWriter bufferedwriter1 = new BufferedWriter(filewriter1);
bufferedwriter1.write(editArea.getText(), 0, editArea.getText().length());
bufferedwriter1.flush();
filewriter1.close();
isNewFile = false;
currentFile = file;
oldValue = editArea.getText();
setTitle((new StringBuilder()).append(file.getName()).append(" - \u8BB0\u4E8B\u672C").toString());
statusLabel.setText((new StringBuilder()).append("\u3000\u5F53\u524D\u6253\u5F00\u6587\u4EF6:").append(file.getAbsoluteFile()).toString());
}
catch(IOException ioexception1) { }
} else
{
try
{
FileWriter filewriter = new FileWriter(currentFile);
BufferedWriter bufferedwriter = new BufferedWriter(filewriter);
bufferedwriter.write(editArea.getText(), 0, editArea.getText().length());
bufferedwriter.flush();
filewriter.close();
}
catch(IOException ioexception) { }
}
System.exit(0);
} else
if(i == 1)
System.exit(0);
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -