📄 notepad.java
字号:
//NotePad.java
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Simple notepad application
* @author WANG Junchuan
* @version 1.0 05/24/03
*/
public class NotePad extends JFrame implements ActionListener
{
public static void main(String args[]) {
NotePad mainFrame = new NotePad();
}
private String filename = null;
private JTextArea editor = new JTextArea();
private JMenuItem newf = new JMenuItem("New"), openf = new JMenuItem("Open"),
savef = new JMenuItem("Save"),saveAs = new JMenuItem("Save As");
public NotePad() {
super("NotePad--New");
Container c = getContentPane();
JMenuBar mainMenuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem fileItems[] = {newf, openf, savef, saveAs};
for(int i=0; i<fileItems.length; ++i) {
fileMenu.add(fileItems[i]);
fileItems[i].addActionListener(this);
}
mainMenuBar.add(fileMenu);
setJMenuBar(mainMenuBar);
c.add(new JScrollPane(editor), BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == newf) {
editor.setText("");
filename = null;
setTitle("NotePad--New");
}
else if (src == openf) {
if(showDlg(JFileChooser.OPEN_DIALOG) != false)
read();
}
else if (src == savef) {
if (filename!=null || showDlg(JFileChooser.SAVE_DIALOG)!=false)
save();
}
else if (src == saveAs) {
if (showDlg(JFileChooser.SAVE_DIALOG) != false)
save();
}
}
/**
* Read text from filename to editor
*/
private void read() {
String line;
editor.setText("");
try {
BufferedReader in = new BufferedReader(new FileReader(filename));
while( (line=in.readLine()) != null ) {
editor.append(line);
editor.append("\n");
}
in.close();
} catch (Exception e){}
}
/**
* Save text of editor to filename
*/
private void save() {
String text = editor.getText();
try {
BufferedWriter out = new BufferedWriter(new FileWriter(filename));
out.write(text,0,text.length());
out.close();
} catch (Exception e){}
}
/**
* Show a choosing file dialog
* @param dlgType the type of dialog to be displayed
*/
private boolean showDlg(int dlgType) {
JFileChooser chooser = new JFileChooser();
chooser.setDialogType(dlgType);
if((chooser.showDialog(null,null) != JFileChooser.APPROVE_OPTION))
return false;
filename = chooser.getSelectedFile().getPath();
setTitle("NotePad--" + filename);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -