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

📄 texteditorframe.java

📁 Java实例入门
💻 JAVA
字号:
package textedit;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import com.borland.dbswing.*;import javax.swing.text.Document;import javax.swing.event.*;/** * Title: * Description: * Copyright:    Copyright (c) 2001 * Company: * @author * @version 1.0 */public class TextEditorFrame extends JFrame {  JPanel contentPane;  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;  ImageIcon image2;  ImageIcon image3;  JLabel statusBar = new JLabel();  BorderLayout borderLayout1 = new BorderLayout();  JScrollPane TextScrollPane = new JScrollPane();  JTextArea jTextArea1 = new JTextArea();  JMenuItem jMenuFileOpen = new JMenuItem();  JMenuItem jMenuFileNew = new JMenuItem();  JMenuItem jMenuFileSave = new JMenuItem();  JMenuItem jMenuFileSaveas = new JMenuItem();  JMenu jMenuEdit = new JMenu();  JMenuItem jMenuEditFont = new JMenuItem();  JMenuItem jMenuEditColor = new JMenuItem();  JMenuItem jMenuEditBColor = new JMenuItem();  String currentFileName;  boolean  saveNeeded;  FontChooser fontChooser1 = new FontChooser();  Document document1;  JFileChooser jFileChooser1 = new JFileChooser();  /**Construct the frame*/  public TextEditorFrame() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  /**Component initialization*/  private void jbInit() throws Exception  {    image1 = new ImageIcon(textedit.TextEditorFrame.class.getResource("openFile.gif"));    image2 = new ImageIcon(textedit.TextEditorFrame.class.getResource("closeFile.gif"));    image3 = new ImageIcon(textedit.TextEditorFrame.class.getResource("help.gif"));    //setIconImage(Toolkit.getDefaultToolkit().createImage(TextEditorFrame.class.getResource("[Your Icon]")));    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(borderLayout1);    this.setSize(new Dimension(400, 300));    this.setTitle("文本编辑器");    this.addHierarchyBoundsListener(new java.awt.event.HierarchyBoundsAdapter() {      public void ancestorResized(HierarchyEvent e) {        this_ancestorResized(e);      }    });    this.addWindowListener(new java.awt.event.WindowAdapter() {      public void windowClosing(WindowEvent e) {        this_windowClosing(e);      }    });    statusBar.setText(" ");    jMenuFile.setText("File");    jMenuFileExit.setText("Exit");    jMenuFileExit.addActionListener(new ActionListener()  {      public void actionPerformed(ActionEvent e) {        jMenuFileExit_actionPerformed(e);      }    });    jMenuHelp.setText("Help");    jMenuHelpAbout.setText("About");    jMenuHelpAbout.addActionListener(new ActionListener()  {      public void actionPerformed(ActionEvent e) {        jMenuHelpAbout_actionPerformed(e);      }    });    jButton1.setIcon(image1);    jButton1.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jButton1_actionPerformed(e);      }    });    jButton1.setToolTipText("Open File");    jButton2.setIcon(image2);    jButton2.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jButton2_actionPerformed(e);      }    });    jButton2.setToolTipText("Close File");    jButton3.setIcon(image3);    jButton3.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jButton3_actionPerformed(e);      }    });    jButton3.setToolTipText("Help");    jTextArea1.setLineWrap(true);    jMenuFileOpen.setText("Open....");    jMenuFileOpen.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuFileOpen_actionPerformed(e);      }    });    jMenuFileNew.setText("New");    jMenuFileNew.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuFileNew_actionPerformed(e);      }    });    jMenuFileSave.setText("Save");    jMenuFileSave.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuFileSave_actionPerformed(e);      }    });    jMenuFileSaveas.setText("Save As...");    jMenuFileSaveas.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuFileSaveas_actionPerformed(e);      }    });    jMenuEdit.setText("Edit");    jMenuEditFont.setText("Font....");    jMenuEditFont.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuEditFont_actionPerformed(e);      }    });    jMenuEditColor.setText("Foreground Color");    jMenuEditColor.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuEditColor_actionPerformed(e);      }    });    jMenuEditBColor.setText("Background Color");    jMenuEditBColor.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        jMenuEditBColor_actionPerformed(e);      }    });    fontChooser1.setFrame(this);    fontChooser1.setTitle("选择字体");    document1=jTextArea1.getDocument();    document1.addDocumentListener(new javax.swing.event.DocumentListener() {      public void insertUpdate(DocumentEvent e) {        document1_insertUpdate(e);      }      public void removeUpdate(DocumentEvent e) {        document1_removeUpdate(e);      }      public void changedUpdate(DocumentEvent e) {        document1_changedUpdate(e);      }    });    jToolBar.add(jButton1);    jToolBar.add(jButton2);    jToolBar.add(jButton3);    jMenuFile.add(jMenuFileNew);    jMenuFile.add(jMenuFileOpen);    jMenuFile.add(jMenuFileSave);    jMenuFile.add(jMenuFileSaveas);    jMenuFile.addSeparator();    jMenuFile.add(jMenuFileExit);    jMenuHelp.add(jMenuHelpAbout);    jMenuBar1.add(jMenuFile);    jMenuBar1.add(jMenuEdit);    jMenuBar1.add(jMenuHelp);    this.setJMenuBar(jMenuBar1);    contentPane.add(jToolBar, BorderLayout.NORTH);    contentPane.add(statusBar, BorderLayout.SOUTH);    contentPane.add(TextScrollPane, BorderLayout.CENTER);    TextScrollPane.getViewport().add(jTextArea1, null);    jMenuEdit.add(jMenuEditFont);    jMenuEdit.add(jMenuEditColor);    jMenuEdit.add(jMenuEditBColor);    document1 = jTextArea1.getDocument();  }  /**File | Exit action performed*/  public void jMenuFileExit_actionPerformed(ActionEvent e) {    if (!okToAbandon()) {  return;}    System.exit(0);  }  /**Help | About action performed*/  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {    TextEditorFrame_AboutBox dlg = new TextEditorFrame_AboutBox(this);    Dimension dlgSize = dlg.getPreferredSize();    Dimension frmSize = getSize();    Point loc = getLocation();    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);    dlg.setModal(true);    dlg.show();  }  /**Overridden so we can exit when window is closed*/  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      jMenuFileExit_actionPerformed(null);    }  }  void jMenuFileNew_actionPerformed(ActionEvent e) {    if(okToAbandon()){       jTextArea1.setText("");       currentFileName = null;       saveNeeded = false;       updateTitle();    }  }  void jMenuFileOpen_actionPerformed(ActionEvent e) {    openFile();  }  void jButton1_actionPerformed(ActionEvent e) {    openFile();  }  void jMenuFileSave_actionPerformed(ActionEvent e) {    saveFile();  }  void jButton2_actionPerformed(ActionEvent e) {    saveFile();  }  void jMenuFileSaveas_actionPerformed(ActionEvent e) {    saveAsFile();  }  void jButton3_actionPerformed(ActionEvent e) {  }  void this_windowClosing(WindowEvent e) {     if (!okToAbandon()) {  return;}     System.exit(0);  }  void jMenuEditFont_actionPerformed(ActionEvent e) {     fontChooser1.setSelectedFont(jTextArea1.getFont());    if (fontChooser1.showDialog()) {       jTextArea1.setFont(fontChooser1.getSelectedFont());     }     this.repaint();     jTextArea1.repaint();  }  void jMenuEditColor_actionPerformed(ActionEvent e) {     Color color = JColorChooser.showDialog(this,"Foreground Color",jTextArea1.getForeground());     if (color != null) {        jTextArea1.setForeground(color);      }      this.repaint();  }  void jMenuEditBColor_actionPerformed(ActionEvent e) {      Color color = JColorChooser.showDialog(this,"Background Color",jTextArea1.getBackground());     if (color != null) {        jTextArea1.setBackground(color);      }      this.repaint();  }  void openFile(){if (!okToAbandon()) {    return;}if(JFileChooser.APPROVE_OPTION== jFileChooser1.showOpenDialog(this)) {openSelectedFile(jFileChooser1.getSelectedFile().getPath());}this.repaint();}void openSelectedFile(String fileName){  try{    File file = new File(fileName);    int fileSize = (int)file.length();int charsReaded = 0;    FileReader in = new FileReader(file);    char[] data = new char[fileSize];    while(in.ready()) {      charsReaded += in.read(data, charsReaded, fileSize - charsReaded);    }    in.close();    jTextArea1.setText(new String(data, 0, charsReaded));    this.currentFileName = fileName;    this.saveNeeded = false;    statusBar.setText("打开 "+fileName);    updateTitle();  }  catch (IOException e){      statusBar.setText("Error opening "+fileName);  }}boolean okToAbandon() {  if (!saveNeeded) {    return true;  }  int value=JOptionPane.showConfirmDialog(this, "保存文件吗?", "文本编辑", 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 updateTitle(){  String title;  if (currentFileName == null) {    title = "未命名文件";  }else {    title = currentFileName;  }  if(saveNeeded == true){      title = "* "+title;  }  title = "文本编辑器- " + title;  this.setTitle(title);}boolean saveFile() {  if (currentFileName == null) {    return saveAsFile();  }  try{    File file = new File (currentFileName);FileWriter out = new FileWriter(file);    String text = jTextArea1.getText();    out.write(text);    out.close();    this.saveNeeded = false;    updateTitle();    return true;  }  catch (IOException e) {    statusBar.setText("存储"+currentFileName+ "出错");  }  return false;}boolean saveAsFile() {this.repaint();  if (JFileChooser.APPROVE_OPTION == jFileChooser1.showSaveDialog(this)){    currentFileName = jFileChooser1.getSelectedFile().getPath();    this.repaint();    return saveFile();  }  else {    this.repaint();    return false;  }}  void document1_changedUpdate(DocumentEvent e) {     saveNeeded = true;updateTitle();  }  void this_ancestorResized(HierarchyEvent e) {  }  void document1_insertUpdate(DocumentEvent e) {    saveNeeded = true;updateTitle();  }  void document1_removeUpdate(DocumentEvent e) {     saveNeeded = true;updateTitle();  }}

⌨️ 快捷键说明

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