NoteBook.java
上传用户:mgrzxhaci
上传日期:2009-12-20
资源大小:18k
文件大小:8k
源码类别:

其他游戏

开发平台:

Java

  1. package notebook;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import java.io.*;
  6. public class NoteBook extends JFrame {
  7.   JMenuBar jMenuBar1 = new JMenuBar();
  8.   JMenu jMenu1 = new JMenu();
  9.   JMenuItem jMenuItem1 = new JMenuItem();
  10.   JMenuItem jMenuItem2 = new JMenuItem();
  11.   JMenuItem jMenuItem3 = new JMenuItem();
  12.   JMenuItem jMenuItem4 = new JMenuItem();
  13.   JMenu jMenu2 = new JMenu();
  14.   JMenuItem jMenuItem6 = new JMenuItem();
  15.   JMenu jMenu3 = new JMenu();
  16.   JScrollPane jScrollPane1 = new JScrollPane();
  17.   JEditorPane jEditorPane1 = new JEditorPane();
  18.   JMenuItem jMenuItem7 = new JMenuItem();
  19.   JMenuItem jMenuItem5 = new JMenuItem();
  20.   JFileChooser jFileChooser1 = new JFileChooser();
  21.   JColorChooser fontChooser1 = new JColorChooser();
  22.   private boolean dirty;
  23.   private String currFileName;
  24.   BorderLayout borderLayout1 = new BorderLayout();
  25.   public NoteBook() {
  26.     try {
  27.       jbInit();
  28.     }
  29.     catch(Exception e) {
  30.       e.printStackTrace();
  31.     }
  32.   }
  33.   public static void main(String[] args) {
  34.     NoteBook noteBook = new NoteBook();
  35.   }
  36.   private void jbInit() throws Exception {
  37.     jMenu1.setText("文 件");
  38.     jMenuItem1.setText("新 建");
  39.     jMenuItem2.setText("打 开");
  40.     jMenuItem2.addActionListener(new NoteBook_jMenuItem2_actionAdapter(this));
  41.     jMenuItem3.setText("保 存");
  42.     jMenuItem3.addActionListener(new NoteBook_jMenuItem3_actionAdapter(this));
  43.     jMenuItem4.setText("另存为");
  44.     jMenuItem4.addActionListener(new NoteBook_jMenuItem4_actionAdapter(this));
  45.     jMenu2.setText("编 辑");
  46.     jMenuItem6.setText("改变背景");
  47.     jMenuItem6.addActionListener(new NoteBook_jMenuItem6_actionAdapter(this));
  48.     jMenu3.setText("关 于");
  49.     jEditorPane1.setText("");
  50.     jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
  51.     jMenuItem7.setActionCommand("关 于");
  52.     jMenuItem7.setText("关 于");
  53.     jMenuItem7.addActionListener(new NoteBook_jMenuItem7_actionAdapter(this));
  54.     jMenuItem5.setText("退 出");
  55.     this.getContentPane().setLayout(borderLayout1);
  56.     jMenuBar1.add(jMenu1);
  57.     jMenuBar1.add(jMenu2);
  58.     jMenuBar1.add(jMenu3);
  59.     jMenu1.add(jMenuItem1);
  60.     jMenu1.addSeparator();
  61.     jMenu1.add(jMenuItem2);
  62.     jMenu1.add(jMenuItem3);
  63.     jMenu1.add(jMenuItem4);
  64.     jMenu1.addSeparator();
  65.     jMenu1.add(jMenuItem5);
  66.     jMenu2.add(jMenuItem6);
  67.     this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
  68.     this.getContentPane().add(jMenuBar1, BorderLayout.NORTH);
  69.     jScrollPane1.getViewport().add(jEditorPane1, null);
  70.     jMenu3.add(jMenuItem7);
  71.     this.setLocation(300,200);
  72.     this.setSize(400,300);
  73.     this.setVisible(true);
  74.     jMenuItem5.addActionListener(new NoteBook_jMenuItem5_actionAdapter(this));
  75.     this.setTitle("NoteBook");
  76.   }
  77.   // Open named file; read text from file into jTextArea1; report to statusBar.
  78.  void openFile(String fileName)  {
  79.    try
  80.    {
  81.      // Open a file of the given name.
  82.      File file = new File(fileName);
  83.      // Get the size of the opened file.
  84.      int size = (int)file.length();
  85.      // Set to zero a counter for counting the number of
  86.      // characters that have been read from the file.
  87.      int chars_read = 0;
  88.      // Create an input reader based on the file, so we can read its data.
  89.      // FileReader handles international character encoding conversions.
  90.      FileReader in = new FileReader(file);
  91.      // Create a character array of the size of the file,
  92.      // to use as a data buffer, into which we will read
  93.      // the text data.
  94.      char[] data = new char[size];
  95.      // Read all available characters into the buffer.
  96.      while(in.ready()) {
  97.        // Increment the count for each character read,
  98.        // and accumulate them in the data buffer.
  99.        chars_read += in.read(data, chars_read, size - chars_read);
  100.      }
  101.      in.close();
  102.      // Create a temporary string containing the data,
  103.      // and set the string into the JTextArea.
  104.      jEditorPane1.setText(new String(data, 0, chars_read));
  105.      // Cache the currently opened filename for use at save time...
  106.      this.currFileName = fileName;
  107.      // ...and mark the edit session as being clean
  108.      this.dirty = false;
  109.    }
  110.    catch (IOException e){e.printStackTrace();}
  111.  }
  112.  boolean saveFile() {
  113.   // Handle the case where we don't have a file name yet.
  114.   if (currFileName == null) {
  115.     return saveAsFile();
  116.   }
  117.   try
  118.   {
  119.     // Open a file of the current name.
  120.     File file = new File (currFileName);
  121.     // Create an output writer that will write to that file.
  122.     // FileWriter handles international characters encoding conversions.
  123.     FileWriter out = new FileWriter(file);
  124.     String text = jEditorPane1.getText();
  125.     out.write(text);
  126.     out.close();
  127.     this.dirty = false;
  128.     return true;
  129.   }
  130.   catch (IOException e) {
  131.     e.printStackTrace();
  132.   }
  133.   return false;
  134. }
  135. // Save current file, asking user for new destination name.
  136. // Report to statuBar.
  137. boolean saveAsFile() {
  138.   this.repaint();
  139.   // Use the SAVE version of the dialog, test return for Approve/Cancel
  140.   if (JFileChooser.APPROVE_OPTION == jFileChooser1.showSaveDialog(this)) {
  141.     // Set the current file name to the user's selection,
  142.     // then do a regular saveFile
  143.     currFileName = jFileChooser1.getSelectedFile().getPath();
  144.     //repaints menu after item is selected
  145.     this.repaint();
  146.     return saveFile();
  147.   }
  148.   else {
  149.     this.repaint();
  150.     return false;
  151.   }
  152. }
  153.   void jMenuItem7_actionPerformed(ActionEvent e) {
  154.     AboutDialog ad = new AboutDialog();
  155.   }
  156.   void jMenuItem2_actionPerformed(ActionEvent e) {
  157.     jFileChooser1.showOpenDialog(this);
  158.     openFile(jFileChooser1.getSelectedFile().getPath());
  159.   }
  160.   void jMenuItem3_actionPerformed(ActionEvent e) {
  161.     saveFile();
  162.   }
  163.   void jMenuItem4_actionPerformed(ActionEvent e) {
  164.     saveAsFile();
  165.   }
  166.   void jMenuItem6_actionPerformed(ActionEvent e) {
  167.     // Handle the "Background Color" menu item
  168.    Color color = JColorChooser.showDialog(this,"Background Color",jEditorPane1.getBackground());
  169.    if (color != null) {
  170.       jEditorPane1.setBackground(color);
  171.    }
  172.    //repaints menu after item is selected
  173.    this.repaint();
  174.   }
  175.   void jMenuItem5_actionPerformed(ActionEvent e) {
  176.     this.dispose();
  177.   }
  178. }
  179. class NoteBook_jMenuItem7_actionAdapter implements java.awt.event.ActionListener {
  180.   NoteBook adaptee;
  181.   NoteBook_jMenuItem7_actionAdapter(NoteBook adaptee) {
  182.     this.adaptee = adaptee;
  183.   }
  184.   public void actionPerformed(ActionEvent e) {
  185.     adaptee.jMenuItem7_actionPerformed(e);
  186.   }
  187. }
  188. class NoteBook_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {
  189.   NoteBook adaptee;
  190.   NoteBook_jMenuItem2_actionAdapter(NoteBook adaptee) {
  191.     this.adaptee = adaptee;
  192.   }
  193.   public void actionPerformed(ActionEvent e) {
  194.     adaptee.jMenuItem2_actionPerformed(e);
  195.   }
  196. }
  197. class NoteBook_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {
  198.   NoteBook adaptee;
  199.   NoteBook_jMenuItem3_actionAdapter(NoteBook adaptee) {
  200.     this.adaptee = adaptee;
  201.   }
  202.   public void actionPerformed(ActionEvent e) {
  203.     adaptee.jMenuItem3_actionPerformed(e);
  204.   }
  205. }
  206. class NoteBook_jMenuItem4_actionAdapter implements java.awt.event.ActionListener {
  207.   NoteBook adaptee;
  208.   NoteBook_jMenuItem4_actionAdapter(NoteBook adaptee) {
  209.     this.adaptee = adaptee;
  210.   }
  211.   public void actionPerformed(ActionEvent e) {
  212.     adaptee.jMenuItem4_actionPerformed(e);
  213.   }
  214. }
  215. class NoteBook_jMenuItem6_actionAdapter implements java.awt.event.ActionListener {
  216.   NoteBook adaptee;
  217.   NoteBook_jMenuItem6_actionAdapter(NoteBook adaptee) {
  218.     this.adaptee = adaptee;
  219.   }
  220.   public void actionPerformed(ActionEvent e) {
  221.     adaptee.jMenuItem6_actionPerformed(e);
  222.   }
  223. }
  224. class NoteBook_jMenuItem5_actionAdapter implements java.awt.event.ActionListener {
  225.   NoteBook adaptee;
  226.   NoteBook_jMenuItem5_actionAdapter(NoteBook adaptee) {
  227.     this.adaptee = adaptee;
  228.   }
  229.   public void actionPerformed(ActionEvent e) {
  230.     adaptee.jMenuItem5_actionPerformed(e);
  231.   }
  232. }