?? notebook1.java
字號:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class NoteBook1 extends Frame implements ActionListener {
String filename = "未命名";
String ctext;
private Dialog d1, d2;
private MenuBar op = new MenuBar();
Menu[] menus = { new Menu("文件(F)"), new Menu("編輯(E)"), new Menu("格式(O)"),
new Menu("查看(V)"), new Menu("幫助(H)") };
MenuItem[] items = { new MenuItem("新建"), new MenuItem("打開"),
new MenuItem("保存"), new MenuItem("另存為"), new MenuItem("退出"),
new MenuItem("全選"), new MenuItem("剪切"), new MenuItem("復(fù)制"),
new MenuItem("粘貼"), new MenuItem("刪除"), new MenuItem("自動換行"),
new MenuItem("字體"), new MenuItem("狀態(tài)欄"), new MenuItem("幫助主題"),
new MenuItem("關(guān)于記事本") };
private TextArea text = new TextArea();
private FileDialog f1 = new FileDialog(this, "打開", FileDialog.LOAD);
private FileDialog f2 = new FileDialog(this, "保存", FileDialog.SAVE);
private class WindowCloser extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
NoteBook1() {
super("記事本");
for (int i = 0; i < 5; i++)
menus[0].add(items[i]);
menus[1].add(items[5]);
menus[1].addSeparator();
for (int i = 6; i < 10; i++)
menus[1].add(items[i]);
menus[2].add(items[10]);
menus[2].add(items[11]);
menus[3].add(items[12]);
menus[4].add(items[13]);
menus[4].addSeparator();
menus[4].add(items[14]);
for (int i = 0; i < menus.length; i++) {
op.add(menus[i]);
}
items[0].addActionListener(this);
items[1].addActionListener(this);
items[2].addActionListener(this);
items[3].addActionListener(this);
items[4].addActionListener(this);
items[5].addActionListener(this);
items[6].addActionListener(this);
items[7].addActionListener(this);
items[8].addActionListener(this);
items[9].addActionListener(this);
items[10].addActionListener(this);
items[11].addActionListener(this);
items[12].addActionListener(this);
items[13].addActionListener(this);
items[14].addActionListener(this);
setLayout(new BorderLayout());
setMenuBar(op);
add(text);
addWindowListener(new WindowCloser());
setFont(new Font("隸書", Font.PLAIN, 12));
pack();
show();
d1 = new Dialog(this, "幫助", true);
TextArea taver = new TextArea("請你到的www.youlinye.com網(wǎng)址查找功能");
d1.add(taver);
d1.setSize(300, 200);
d1.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
d1.dispose();
}
});
d2 = new Dialog(this, "關(guān)于記事本", true);
TextArea taver2 = new TextArea("這是的記事本的程序!歡迎交流!");
d2.add(taver2);
d2.setSize(300, 200);
d2.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
d2.dispose();
}
});
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == items[0])
text.setText("");
else if (e.getSource() == items[1]) {
f1.show();
filename = f1.getFile();
if (filename != null) {
filename = f1.getDirectory() + f1.getFile();
readfile(filename);
}
} else if (e.getSource() == items[2])
if (filename != null)
writefile(filename);
else if (e.getSource() == items[3]) {
f2.show();
filename = f2.getDirectory() + f2.getFile();
if (filename != null)
writefile(filename);
} else if (e.getSource() == items[4])
System.exit(0);
else if (e.getSource() == items[5])
text.selectAll();
else if (e.getSource() == items[6]) {
System.out.println("cut");
ctext = text.getSelectedText();
text.replaceRange("", text.getSelectionStart(), text
.getSelectionEnd());
} else if (e.getSource() == items[7])
ctext = text.getSelectedText();
else if (e.getSource() == items[8]) {
if (ctext == null)
return;
text.replaceRange(ctext, text.getSelectionStart(), text
.getSelectionEnd());
} else if (e.getSource() == items[9])
text.replaceRange("", text.getSelectionStart(), text
.getSelectionEnd());
else if (e.getSource() == items[10])
text.append("\n");
else if (e.getSource() == items[11])
setFont(new Font("宋體", Font.ITALIC, 20));
else if (e.getSource() == items[13])
d1.show();
else if (e.getSource() == items[14])
d2.show();
}
public void readfile(String filename) {
try {
File file = new File(filename);
FileReader readin = new FileReader(file);
int size = (int) file.length();
int charsRead = 0;
char[] content = new char[size];
while (readin.ready())
charsRead += readin.read(content, charsRead, size - charsRead);
readin.close();
text.setText(new String(content, 0, charsRead));
} catch (IOException e) {
System.out.println("Error opening file");
}
}
public void writefile(String filename) {
try {
File file = new File(filename);
FileWriter writeout = new FileWriter(file);
writeout.write(text.getText());
writeout.close();
} catch (IOException e) {
System.out.println("Error writing file");
}
}
public static void main(String[] args) {
NoteBook1 note = new NoteBook1();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -