⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texteditfram.java

📁 java编写的一个文本编辑器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package fileedit_swing;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import javax.swing.JTextArea;
import com.borland.dbswing.FontChooser;
import javax.swing.JFileChooser;
import javax.swing.*;
import javax.swing.text.Document;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import com.borland.dbswing.DBTextDataBinder;

public class TextEditFram
    extends JFrame {
  //IntlSwingSupport intlSwingSupport1 = new intlSwingSupport();
  JPanel contentPane;
  BorderLayout borderLayout1 = new BorderLayout();
  JMenuBar jMenuBar1 = new JMenuBar();
  JMenu jMenuFile = new JMenu();
  JMenuItem jMenuFileExit = new JMenuItem();
  JMenu jMenuHelp = new JMenu();
  JMenuItem jMenuHelpAbout = new JMenuItem();
  JToolBar jToolBar = new JToolBar();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  ImageIcon image1 = new ImageIcon(fileedit_swing.TextEditFram.class.
                                   getResource("openFile.png"));
  ImageIcon image2 = new ImageIcon(fileedit_swing.TextEditFram.class.
                                   getResource("closeFile.png"));
  ImageIcon image3 = new ImageIcon(fileedit_swing.TextEditFram.class.
                                   getResource("help.png"));
  JLabel statusBar = new JLabel();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextArea jTextArea1 = new JTextArea();
  JMenu jMenu1 = new JMenu();
  JMenuItem jMenuItem1 = new JMenuItem();
  JMenuItem jMenuItem2 = new JMenuItem();
  JMenuItem jMenuItem3 = new JMenuItem();
  JMenuItem jMenuItem4 = new JMenuItem();
  JMenu jMenu2 = new JMenu();
  JMenuItem jMenuItem5 = new JMenuItem();
  JMenuItem jMenuItem6 = new JMenuItem();
  JMenuItem jMenuItem7 = new JMenuItem();
  FontChooser fontChooser1 = new FontChooser();
  JFileChooser jFileChooser1 = new JFileChooser();
  String currFileName = null;
  boolean dirty = false;
  Document document1 = jTextArea1.getDocument();
  DBTextDataBinder dBTextDataBinder1 = new DBTextDataBinder();
  public TextEditFram() {
    try {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  /**
   * Component initialization.
   *
   * @throws java.lang.Exception
   */
  private void jbInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    setSize(new Dimension(400, 300));
    setTitle("TextEdit");
    statusBar.setText(" ");
    jMenuFile.setText("File");
    jMenuFileExit.setText("Exit");
    jMenuFileExit.addActionListener(new
                                    TextEditFram_jMenuFileExit_ActionAdapter(this));
    jMenuHelp.setText("Help");
    jMenuHelpAbout.setText("About");
    jMenuHelpAbout.addActionListener(new
                                     TextEditFram_jMenuHelpAbout_ActionAdapter(this));
    jTextArea1.setDocument(document1);
    jTextArea1.setText("jTextArea1");
    jTextArea1.setLineWrap(true);
    jTextArea1.setWrapStyleWord(true);
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.
                                              HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.
                                            VERTICAL_SCROLLBAR_ALWAYS);
    jMenuItem1.setText("New");
    jMenuItem1.addActionListener(new TextEditFram_jMenuItem1_actionAdapter(this));
    jMenuItem2.setText("Open");
    jMenuItem2.addActionListener(new TextEditFram_jMenuItem2_actionAdapter(this));
    jMenuItem3.setText("Save");
    jMenuItem3.addActionListener(new TextEditFram_jMenuItem3_actionAdapter(this));
    jMenuItem4.setText("Save As");
    jMenuItem4.addActionListener(new TextEditFram_jMenuItem4_actionAdapter(this));
    jMenu2.setText("Edit");
    jMenuItem6.setText("Foreground Color");
    jMenuItem6.addActionListener(new TextEditFram_jMenuItem6_actionAdapter(this));
    jMenuItem5.setText("Font");
    jMenuItem5.addActionListener(new TextEditFram_jMenuItem5_actionAdapter(this));
    jMenuItem7.setText("Background Color");
    jMenuItem7.addActionListener(new TextEditFram_jMenuItem7_actionAdapter(this));
    fontChooser1.setFrame(this);
    fontChooser1.setTitle("Font");
    jButton1.addActionListener(new TextEditFram_jButton1_actionAdapter(this));
    jButton2.addActionListener(new TextEditFram_jButton2_actionAdapter(this));
    jButton3.addActionListener(new TextEditFram_jButton3_actionAdapter(this));
    document1.addDocumentListener(new TextEditFram_document1_documentAdapter(this));
    dBTextDataBinder1.setJTextComponent(jTextArea1);
    dBTextDataBinder1.setEnableFileLoading(false);
    dBTextDataBinder1.setEnableFileSaving(false);
    jMenuBar1.add(jMenuFile);
    jMenuBar1.add(jMenu2);
    jMenuFile.add(jMenuItem1);
    jMenuFile.add(jMenuItem2);
    jMenuFile.add(jMenuItem4);
    jMenuFile.add(jMenuItem3);
    jMenuFile.addSeparator();
    jMenuFile.add(jMenuFileExit);
    jMenuBar1.add(jMenuHelp);
    jMenuHelp.add(jMenuHelpAbout);
    setJMenuBar(jMenuBar1);
    jButton1.setIcon(image1);
    jButton1.setToolTipText("Open File");
    jButton2.setIcon(image2);
    jButton2.setToolTipText("Close File");
    jButton3.setIcon(image3);
    jButton3.setToolTipText("Help");
    jToolBar.add(jButton1);
    jToolBar.add(jButton2);
    jToolBar.add(jButton3);
    contentPane.add(jScrollPane1, java.awt.BorderLayout.CENTER);
    jScrollPane1.getViewport().add(jTextArea1);
    contentPane.add(statusBar, java.awt.BorderLayout.SOUTH);
    contentPane.add(jToolBar, java.awt.BorderLayout.NORTH);
    jMenu2.add(jMenuItem5);
    jMenu2.add(jMenuItem6);
    jMenu2.add(jMenuItem7);
  }

  /**
   * File | Exit action performed.
   *
   * @param actionEvent ActionEvent
   */
  void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
    if(okToAbandon())
    System.exit(0);
  }

  boolean okToAbandon()
  {
    if(!dirty)
    {
      return true;
    }
    int value = JOptionPane.showConfirmDialog(this, "Save changes?",
                                         "Text Edit", JOptionPane.YES_NO_CANCEL_OPTION) ;
    switch(value)
    {
      case JOptionPane.YES_OPTION:
        return saveFile();
      case JOptionPane.NO_OPTION:
        return true;
      case JOptionPane.CANCEL_OPTION:
      default:
        return false;
    }
  }

  void openFile(String filename)
    {
      try
      {
        File file = new File(filename);
        int size = (int)file.length();
        int char_read = 0;
        FileReader in = new FileReader(file);
        char[] data = new char[size];
        while(in.ready())
        {
          char_read += in.read(data,char_read,size-char_read);
        }
        in.close();
        jTextArea1.setText(new String(data,0,char_read));
        this.currFileName = filename;
        this.dirty = false;
        statusBar.setText("Opened" + filename);
      }
      catch(IOException e)
      {
        statusBar.setText("Error opening" + filename);
      }
  }

  boolean saveFile(){
    if(currFileName == null)
    {
      return saveAsFile();
    }
    try {
      File file = new File(currFileName);
      FileWriter out = new FileWriter(file);
      String text = jTextArea1.getText();
      out.write(text);
      out.close();
      this.dirty = false;

      statusBar.setText("Svae to " + currFileName);
      return true;
    }
    catch (IOException ex) {
      statusBar.setText("Error saving " + currFileName);
    }
    return false;
  }


  boolean saveAsFile()
  {
    if(JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this))
   {
     currFileName = jFileChooser1.getSelectedFile().getPath();
     this.repaint();
     return saveFile();
   }
   else
   {
     this.repaint();
     return false;
   }

  }
  /**
   * Help | About action performed.
   *
   * @param actionEvent ActionEvent
   */
  void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
    helpAbout();
  }

  private void helpAbout() {
    TextEditFram_AboutBox dlg = new TextEditFram_AboutBox(this);
    Dimension dlgSize = dlg.getPreferredSize();
    Dimension frmSize = getSize();
    Point loc = getLocation();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -