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

📄 texteditframe.java

📁 java网络编程的一些实例
💻 JAVA
字号:
package again;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.swing.event.*;
import javax.swing.text.*;
import com.borland.dbswing.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class TextEditFrame
    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();
  JTextArea jTextArea1 = new JTextArea();
  JMenuItem jMenuItem1 = new JMenuItem();
  JMenuItem jMenuItem2 = new JMenuItem();
  JMenuItem jMenuItem3 = new JMenuItem();
  JMenuItem jMenuItem4 = new JMenuItem();
  JFileChooser jFileChooser1 = new JFileChooser();
  private String currFileName = null;
  private boolean dirty = false;
  Document document1;
  DBTextDataBinder dBTextDataBinder1 = new DBTextDataBinder();

  //Construct the frame
  public TextEditFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
      updateCaption();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  //Component initialization
  private void jbInit() throws Exception {
    image1 = new ImageIcon(again.TextEditFrame.class.getResource("openFile.png"));
    image2 = new ImageIcon(again.TextEditFrame.class.getResource(
	"closeFile.png"));
    image3 = new ImageIcon(again.TextEditFrame.class.getResource("help.png"));
    contentPane = (JPanel)this.getContentPane();
    document1 = jTextArea1.getDocument();
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(400, 300));
    this.setTitle("Text Editor");
    statusBar.setText(" ");
    jMenuFile.setText("File");
    jMenuFileExit.setText("Exit");
    jMenuFileExit.addActionListener(new
				    TextEditFrame_jMenuFileExit_ActionAdapter(this));
    jMenuHelp.setText("Help");
    jMenuHelpAbout.setText("About");
    jMenuHelpAbout.addActionListener(new
				     TextEditFrame_jMenuHelpAbout_ActionAdapter(this));
    jButton1.setIcon(image1);
    jButton1.addActionListener(new TextEditFrame_jButton1_actionAdapter(this));
    jButton1.setToolTipText("Open File");
    jButton2.setIcon(image2);
    jButton2.addActionListener(new TextEditFrame_jButton2_actionAdapter(this));
    jButton2.setToolTipText("Save File");
    jButton3.setIcon(image3);
    jButton3.addActionListener(new TextEditFrame_jButton3_actionAdapter(this));
    jButton3.setToolTipText("About");
    jMenuItem1.setText("New");
    jMenuItem1.addActionListener(new TextEditFrame_jMenuItem1_actionAdapter(this));
    jMenuItem2.setText("Open");
    jMenuItem2.addActionListener(new TextEditFrame_jMenuItem2_actionAdapter(this));
    jMenuItem3.setText("Save");
    jMenuItem3.addActionListener(new TextEditFrame_jMenuItem3_actionAdapter(this));
    jMenuItem4.setText("Save As");
    jMenuItem4.addActionListener(new TextEditFrame_jMenuItem4_actionAdapter(this));
    jTextArea1.addAncestorListener(new TextEditFrame_jTextArea1_ancestorAdapter(this));
    document1.addDocumentListener(new TextEditFrame_document1_documentAdapter(this));
    dBTextDataBinder1.setJTextComponent(jTextArea1);
    dBTextDataBinder1.setEnableFileLoading(false);
    dBTextDataBinder1.setEnableFileSaving(false);
    jToolBar.add(jButton1);
    jToolBar.add(jButton2);
    jToolBar.add(jButton3);
    jMenuFile.add(jMenuItem1);
    jMenuFile.add(jMenuItem2);
    jMenuFile.add(jMenuItem3);
    jMenuFile.add(jMenuItem4);
    jMenuFile.addSeparator();
    jMenuFile.add(jMenuFileExit);
    jMenuHelp.add(jMenuHelpAbout);
    jMenuBar1.add(jMenuFile);
    jMenuBar1.add(jMenuHelp);
    this.setJMenuBar(jMenuBar1);
    contentPane.add(jToolBar, BorderLayout.NORTH);
    contentPane.add(statusBar, BorderLayout.SOUTH);
    contentPane.add(jTextArea1, BorderLayout.CENTER);
  }

  void openFile(String fileName) {
    try {
      File file = new File(fileName);
      int size = (int) file.length();
      int chars_read = 0;
      FileReader in = new FileReader(file);
      char[] data = new char[size];
      while (in.ready()) {
	chars_read += in.read(data, chars_read, size - chars_read);
      }
      in.close();
      jTextArea1.setText(new String(data, 0, chars_read));
      statusBar.setText("Opened " + fileName);
      updateCaption();
    }
    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("Saved to " + currFileName);
      updateCaption();
      return true;
    }
    catch (IOException e) {
      statusBar.setText("Error saving " + currFileName);
    }
    return false;
  }
  boolean saveAsFile() {
   if (JFileChooser.APPROVE_OPTION == jFileChooser1.showSaveDialog(this)) {
    currFileName = jFileChooser1.getSelectedFile().getPath();
    this.repaint();
    return saveFile();
  }
  else {
    this.repaint();
    return false;
  }
}

boolean okToAbandon() {
  if (!dirty) {
    return true;
  }

  int value = JOptionPane.showConfirmDialog(this, "Save changes?",
					    "TextEdit",
					    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 updateCaption() {
  String caption;
  if (currFileName == null) {
     caption = "Untitled";
  }
  else {
    caption = currFileName;
  }
  if (dirty) {
    caption = "* " + caption;
  }
  caption = "Text Editor - " + caption;
  this.setTitle(caption);
}

//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
  if (okToAbandon()) {
    System.exit(0);
  }

}

//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
    TextEditFrame_AboutBox dlg = new TextEditFrame_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.pack();
    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 jMenuItem1_actionPerformed(ActionEvent e) {
    if (okToAbandon()) {
      jTextArea1.setText("");
      currFileName = null;
      dirty = false;
      updateCaption();
    }



  }
  void jMenuItem2_actionPerformed(ActionEvent e) {
    if (!okToAbandon()) {
      return;
    }
    if (JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this)) {
      openFile(jFileChooser1.getSelectedFile().getPath());
    }
    this.repaint();

    }



  void jTextArea1_ancestorAdded(AncestorEvent e) {

  }

  void jMenuItem3_actionPerformed(ActionEvent e) {
    saveFile();
  }

  void jMenuItem4_actionPerformed(ActionEvent e) {
    saveAsFile();
  }
  void fileOpen(){
    if (!okToAbandon()) {
      return;
    }
    if (JFileChooser.APPROVE_OPTION == jFileChooser1.showOpenDialog(this)) {
      openFile(jFileChooser1.getSelectedFile().getPath());
    }
    this.repaint();

  }
  void jButton1_actionPerformed(ActionEvent e) {
    fileOpen();
  }

  void jButton2_actionPerformed(ActionEvent e) {
    saveFile();
  }
  void helpAbout(){
    TextEditFrame_AboutBox dlg = new TextEditFrame_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.pack();
    dlg.show();

  }
  void jButton3_actionPerformed(ActionEvent e) {
    helpAbout();
  }

  void document1_changedUpdate(DocumentEvent e) {
    if (!dirty) {
      dirty = true;
      updateCaption();
    }

  }

  void document1_insertUpdate(DocumentEvent e) {
    if (!dirty) {
      dirty = true;
      updateCaption();
    }

  }

  void document1_removeUpdate(DocumentEvent e) {
    if (!dirty) {
      dirty = true;
      updateCaption();
}

  }


}

class TextEditFrame_jMenuFileExit_ActionAdapter
    implements ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuFileExit_ActionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuFileExit_actionPerformed(e);
  }
}

class TextEditFrame_jMenuHelpAbout_ActionAdapter
    implements ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuHelpAbout_ActionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuHelpAbout_actionPerformed(e);
  }
}

class TextEditFrame_jMenuItem2_actionAdapter
    implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuItem2_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem2_actionPerformed(e);
  }
}

class TextEditFrame_jTextArea1_ancestorAdapter implements javax.swing.event.AncestorListener {
  TextEditFrame adaptee;

  TextEditFrame_jTextArea1_ancestorAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void ancestorAdded(AncestorEvent e) {
    adaptee.jTextArea1_ancestorAdded(e);
  }
  public void ancestorRemoved(AncestorEvent e) {
  }
  public void ancestorMoved(AncestorEvent e) {
  }
}

class TextEditFrame_jMenuItem3_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuItem3_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem3_actionPerformed(e);
  }
}

class TextEditFrame_jMenuItem4_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuItem4_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem4_actionPerformed(e);
  }
}

class TextEditFrame_jMenuItem1_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jMenuItem1_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem1_actionPerformed(e);
  }
}

class TextEditFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jButton1_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class TextEditFrame_jButton2_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jButton2_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class TextEditFrame_jButton3_actionAdapter implements java.awt.event.ActionListener {
  TextEditFrame adaptee;

  TextEditFrame_jButton3_actionAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class TextEditFrame_document1_documentAdapter implements javax.swing.event.DocumentListener {
  TextEditFrame adaptee;

  TextEditFrame_document1_documentAdapter(TextEditFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void insertUpdate(DocumentEvent e) {
    adaptee.document1_insertUpdate(e);
  }
  public void removeUpdate(DocumentEvent e) {
    adaptee.document1_removeUpdate(e);
  }
  public void changedUpdate(DocumentEvent e) {
    adaptee.document1_changedUpdate(e);
  }
}

⌨️ 快捷键说明

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