?? notebook2.java
字號:
import java.io.*;
import java.util.Calendar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class NoteBook2 extends JFrame implements ActionListener, ItemListener,
WindowListener, MouseListener {
Container c = this.getContentPane();
JMenuBar jmb = new JMenuBar();
JColorChooser jcc = new JColorChooser();
JMenu jm1 = new JMenu("文件(F)");
JMenu jm2 = new JMenu("編輯(E)");
JMenu jm3 = new JMenu("格式(O)");
JMenu jm4 = new JMenu("查看(V)");
JMenu jm5 = new JMenu("幫助(H)");
JMenuItem jmi1 = new JMenuItem("新建(N)");
JMenuItem jmi2 = new JMenuItem("打開(O)");
JMenuItem jmi3 = new JMenuItem("保存(S)");
JMenuItem jmi4 = new JMenuItem("退出(X)");
JMenuItem jmi5 = new JMenuItem("撤消(U)");
JMenuItem jmi6 = new JMenuItem("復制(C)");
JMenuItem jmi7 = new JMenuItem("粘貼(P)");
JMenuItem jmi8 = new JMenuItem("剪切(T)");
JMenuItem jmi12 = new JMenuItem("日期和時間");
JMenuItem jmi9 = new JMenuItem("字體(E)");
JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自動換行(W)");
JMenuItem jmi10 = new JMenuItem("刪除(S)");
JMenuItem jmi11 = new JMenuItem("背景顏色(H)");
JTextArea jta = new JTextArea(15, 15);
JScrollPane jsp = new JScrollPane(jta);
// PupolMenu pm = new Pupolmenu();
NoteBook2() {
this.addWindowListener(this);
c.setLayout(new BorderLayout());
c.add(jmb, BorderLayout.NORTH);
this.setTitle("新建 文本文檔");
jmb.add(jm1);
jm1.setMnemonic('f');
jm1.addActionListener(this);
jmb.add(jm2);
jm2.setMnemonic('e');
jmb.add(jm3);
jm3.setMnemonic('o');
jmb.add(jm4);
jm4.setMnemonic('v');
jmb.add(jm5);
jm5.setMnemonic('h');
jm1.add(jmi1);
jmi1.addActionListener(this);
jmi1
.setAccelerator(KeyStroke.getKeyStroke('N', Event.CTRL_MASK,
false));
jm1.addSeparator();
jm1.add(jmi2);
jmi2
.setAccelerator(KeyStroke.getKeyStroke('O', Event.CTRL_MASK,
false));
jmi2.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi3);
jmi3
.setAccelerator(KeyStroke.getKeyStroke('S', Event.CTRL_MASK,
false));
jmi3.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi4);
jmi1.setMnemonic('n');
jmi2.setMnemonic('o');
jmi3.setMnemonic('s');
jmi4.setMnemonic('x');
jmi4.addActionListener(this);
jm2.add(jmi5);
jm2.addSeparator();
jm2.add(jmi6);
jm2.addSeparator();
jm2.add(jmi7);
jm2.addSeparator();
jm2.add(jmi8);
jm2.add(jmi12);
jmi12.addActionListener(this);
jm3.add(jcbmi);
jcbmi.addItemListener(this);
jm3.addSeparator();
jm3.add(jmi9);
jm4.add(jmi10);
jmi10.addActionListener(this);
jm5.add(jmi11);
jmi11.addActionListener(this);
c.add(jsp);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(500, 500);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jmi1) {
jta.setText("");
this.setTitle("無標題 - 記事本");
}
if (e.getSource() == jmi2) {
File f1;
JFileChooser jfc1 = new JFileChooser();
int num1 = jfc1.showOpenDialog(this);
if (num1 == JFileChooser.APPROVE_OPTION) {
try {
f1 = jfc1.getSelectedFile();
this.setTitle(f1.getName());
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr);
String str;
while ((str = br.readLine()) != null) {
jta.setText(str);
}
fr.close();
br.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
if (e.getSource() == jmi3) {
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if (num2 == JFileChooser.APPROVE_OPTION) {
f2 = jfc2.getSelectedFile();
this.setTitle(f2.getName());
try {
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
if (e.getSource() == jmi4) {
int a = JOptionPane.showConfirmDialog(this, "文件已被改變,是否要保存?", "提示",
JOptionPane.YES_NO_CANCEL_OPTION);
if (a == 1) {
this.dispose();
} else if (a == 0) {
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if (num2 == JFileChooser.APPROVE_OPTION) {
f2 = jfc2.getSelectedFile();
this.setTitle(f2.getName());
try {
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
} catch (IOException e2) {
e2.printStackTrace();
}
this.dispose();
}
}
}
if (e.getSource() == jmi12) {
Calendar c1 = Calendar.getInstance();
int y = c1.get(Calendar.YEAR);
int m = c1.get(Calendar.MONTH);
int d = c1.get(Calendar.DATE);
int h = c1.get(Calendar.HOUR);
int m1 = c1.get(Calendar.MINUTE);
int m2 = m + 1;
jta.setText(y + "年" + m2 + "月" + d + "日" + h + ":" + m1);
}
if (e.getSource() == jmi11) {
Color ccc = JColorChooser.showDialog(this, "color", Color.BLACK);
jta.setSelectedTextColor(ccc);
jta.setBackground(ccc);
}
if (e.getSource() == jmi10) {
jta
.replaceRange("", jta.getSelectionStart(), jta
.getSelectionEnd());
}
}
public void itemStateChanged(ItemEvent e2) {
if (e2.getItemSelectable() == jcbmi) {
jta.setLineWrap(true);
} else
jta.setLineWrap(false);
}
public static void main(String[] args) {
new NoteBook2();
}
public void windowOpened(WindowEvent arg0) {
}
public void windowClosing(WindowEvent arg0) {
int a = JOptionPane.showConfirmDialog(this, "文件已被改變,是否要保存?", "提示",
JOptionPane.YES_NO_CANCEL_OPTION);
if (a == 1) {
this.dispose();
} else if (a == 0) {
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if (num2 == JFileChooser.APPROVE_OPTION) {
f2 = jfc2.getSelectedFile();
this.setTitle(f2.getName());
try {
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
if (a == 2) {
// / ???
// ???????????????????????????????????????????????????????????????//
}
}
}
public void windowClosed(WindowEvent arg0) {
}
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -