📄 texteditfram.java
字号:
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 + -