?? notebook.java
字號:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class NoteBook extends JDialog {
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem4 = new JMenuItem();
JMenu jMenu2 = new JMenu();
JMenuItem jMenuItem6 = new JMenuItem();
JMenu jMenu3 = new JMenu();
JScrollPane jScrollPane1 = new JScrollPane();
JEditorPane jEditorPane1 = new JEditorPane();
JMenuItem jMenuItem7 = new JMenuItem();
JMenuItem jMenuItem5 = new JMenuItem();
JFileChooser jFileChooser1 = new JFileChooser();
JColorChooser fontChooser1 = new JColorChooser();
public boolean dirty;
public String currFileName;
BorderLayout borderLayout1 = new BorderLayout();
public NoteBook(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
pack();
}
catch(Exception e) {
e.printStackTrace();
}
}
public NoteBook() {
this(null, "", false);
}
public void jbInit() throws Exception {
jMenu1.setText("文 件");
jMenuItem1.setText("新 建");
jMenuItem2.setText("打 開");
jMenuItem2.addActionListener(new NoteBook_jMenuItem2_actionAdapter(this));
jMenuItem3.setText("保 存");
jMenuItem3.addActionListener(new NoteBook_jMenuItem3_actionAdapter(this));
jMenuItem4.setText("另存為");
jMenuItem4.addActionListener(new NoteBook_jMenuItem4_actionAdapter(this));
jMenu2.setText("編 輯");
jMenuItem6.setText("改變背景");
jMenuItem6.addActionListener(new NoteBook_jMenuItem6_actionAdapter(this));
jMenu3.setText("關 于");
jEditorPane1.setText("");
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jMenuItem7.setActionCommand("關 于");
jMenuItem7.setText("關 于");
jMenuItem7.addActionListener(new NoteBook_jMenuItem7_actionAdapter(this));
jMenuItem5.setText("退 出");
this.getContentPane().setLayout(borderLayout1);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jMenu1.addSeparator();
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem3);
jMenu1.add(jMenuItem4);
jMenu1.addSeparator();
jMenu1.add(jMenuItem5);
jMenu2.add(jMenuItem6);
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
this.getContentPane().add(jMenuBar1, BorderLayout.NORTH);
jScrollPane1.getViewport().add(jEditorPane1, null);
jMenu3.add(jMenuItem7);
this.setLocation(300,200);
this.setSize(500,500);
this.setVisible(true);
jMenuItem5.addActionListener(new NoteBook_jMenuItem5_actionAdapter(this));
this.setTitle("NoteBook");
}
// Open named file; read text from file into jTextArea1; report to statusBar.
void openFile(String fileName) {
try
{
// Open a file of the given name.
File file = new File(fileName);
// Get the size of the opened file.
int size = (int)file.length();
// Set to zero a counter for counting the number of
// characters that have been read from the file.
int chars_read = 0;
// Create an input reader based on the file, so we can read its data.
// FileReader handles international character encoding conversions.
FileReader in = new FileReader(file);
// Create a character array of the size of the file,
// to use as a data buffer, into which we will read
// the text data.
char[] data = new char[size];
// Read all available characters into the buffer.
while(in.ready()) {
// Increment the count for each character read,
// and accumulate them in the data buffer.
chars_read += in.read(data, chars_read, size - chars_read);
}
in.close();
// Create a temporary string containing the data,
// and set the string into the JTextArea.
jEditorPane1.setText(new String(data, 0, chars_read));
// Cache the currently opened filename for use at save time...
this.currFileName = fileName;
// ...and mark the edit session as being clean
this.dirty = false;
}
catch (IOException e){e.printStackTrace();}
}
boolean saveFile() {
// Handle the case where we don't have a file name yet.
if (currFileName == null) {
return saveAsFile();
}
try
{
// Open a file of the current name.
File file = new File (currFileName);
// Create an output writer that will write to that file.
// FileWriter handles international characters encoding conversions.
FileWriter out = new FileWriter(file);
String text = jEditorPane1.getText();
out.write(text);
out.close();
this.dirty = false;
return true;
}
catch (IOException e) {
e.printStackTrace();
}
return false;
}
// Save current file, asking user for new destination name.
// Report to statuBar.
boolean saveAsFile() {
this.repaint();
// Use the SAVE version of the dialog, test return for Approve/Cancel
if (JFileChooser.APPROVE_OPTION == jFileChooser1.showSaveDialog(this)) {
// Set the current file name to the user's selection,
// then do a regular saveFile
currFileName = jFileChooser1.getSelectedFile().getPath();
//repaints menu after item is selected
this.repaint();
return saveFile();
}
else {
this.repaint();
return false;
}
}
void jMenuItem7_actionPerformed(ActionEvent e) {
AboutDialog ad = new AboutDialog();
}
void jMenuItem2_actionPerformed(ActionEvent e) {
jFileChooser1.showOpenDialog(this);
openFile(jFileChooser1.getSelectedFile().getPath());
}
void jMenuItem3_actionPerformed(ActionEvent e) {
saveFile();
}
void jMenuItem4_actionPerformed(ActionEvent e) {
saveAsFile();
}
void jMenuItem6_actionPerformed(ActionEvent e) {
// Handle the "Background Color" menu item
Color color = JColorChooser.showDialog(this,"Background Color",jEditorPane1.getBackground());
if (color != null) {
jEditorPane1.setBackground(color);
}
//repaints menu after item is selected
this.repaint();
}
void jMenuItem5_actionPerformed(ActionEvent e) {
this.dispose();
}
public static void main(String[] args) {
NoteBook noteBook = new NoteBook();
}
}
class NoteBook_jMenuItem7_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem7_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem7_actionPerformed(e);
}
}
class NoteBook_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem2_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class NoteBook_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem3_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class NoteBook_jMenuItem4_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem4_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem4_actionPerformed(e);
}
}
class NoteBook_jMenuItem6_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem6_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem6_actionPerformed(e);
}
}
class NoteBook_jMenuItem5_actionAdapter implements java.awt.event.ActionListener {
NoteBook adaptee;
NoteBook_jMenuItem5_actionAdapter(NoteBook adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem5_actionPerformed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -