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

📄 notoedit.txt

📁 恩自己写的记事本 自己写的记事本 自己写的记事本 自己写的记事本
💻 TXT
📖 第 1 页 / 共 2 页
字号:
用Jbuilder写的记事本 


package texteditor; 

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.text.Document; 
import javax.swing.event.*; 
import java.io.*; 
import javax.swing.undo.*; 
import java.awt.datatransfer.*; 
import com.borland.dbswing.*; 



/** 
* <p>Title: 文本编辑器</p> 
* <p>Description: </p> 
* <p>Copyright: Copyright (c) 2003</p> 
* <p>Company: bjut</p> 
* @author haofeng 
* @version 1.0 
*/ 

public class TextEditorFrame extends JFrame { 
Document document1; 
JFileChooser jFileChooser1 = new JFileChooser(); 
final UndoManager edit= new UndoManager(); 
Clipboard sysClipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); 
boolean saveNeeded; 
String currentFileName; 
JPanel contentPane; 
JMenuBar jMenuBar1 = new JMenuBar(); 
JMenu jMenuFile = new JMenu(); 
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(); 
JMenuItem jMenuFileExit = new JMenuItem(); 
JMenuItem jMenuFileSaveas = new JMenuItem(); 
JMenuItem jMenuFileSave = new JMenuItem(); 
JMenuItem jMenuFileOpen = new JMenuItem(); 
JMenuItem jMenuFileNew = new JMenuItem(); 
JMenu jMenuEdit = new JMenu(); 
JMenuItem jMenuEditBColor = new JMenuItem(); 
JMenuItem jMenuEditColor = new JMenuItem(); 
JMenuItem jMenuEditPaste = new JMenuItem(); 
JMenuItem jMenuEditCut = new JMenuItem(); 
JMenuItem jMenuEditCopy = new JMenuItem(); 
JMenuItem jMenuEditSelAll = new JMenuItem(); 
JMenuItem jMenuEditRedo = new JMenuItem(); 
JMenuItem jMenuEditUndo = new JMenuItem(); 
JScrollPane TextScrollPane = new JScrollPane(); 
JTextArea jTextArea1 = new JTextArea(); 

//Construct the frame 
public TextEditorFrame() { 
enableEvents(AWTEvent.WINDOW_EVENT_MASK); 
try { 
jbInit(); 
} 
catch(Exception e) { 
e.printStackTrace(); 
} 
} 
//Component initialization 
private void jbInit() throws Exception { 
document1 = jTextArea1.getDocument(); 
image1 = new ImageIcon(texteditor.TextEditorFrame.class.getResource("openFile.png")); 
image2 = new ImageIcon(texteditor.TextEditorFrame.class.getResource("closeFile.png")); 
image3 = new ImageIcon(texteditor.TextEditorFrame.class.getResource("help.png")); 
contentPane = (JPanel) this.getContentPane(); 
contentPane.setLayout(borderLayout1); 
this.setSize(new Dimension(400, 300)); 
this.setTitle("Frame Title"); 
statusBar.setText(" "); 
jMenuFile.setText("File"); 
jMenuHelp.setText("Help"); 
jMenuHelpAbout.setText("About"); 
jMenuHelpAbout.addActionListener(new TextEditorFrame_jMenuHelpAbout_ActionAdapter(this)); 
jButton1.setIcon(image1); 
jButton1.setToolTipText("Open File"); 
jButton2.setIcon(image2); 
jButton2.setToolTipText("Close File"); 
jButton3.setIcon(image3); 
jButton3.setToolTipText("Help"); 
jMenuFileExit.setText("Exit"); 
jMenuFileExit.addActionListener(new TextEditorFrame_jMenuFileExit_actionAdapter(this)); 
jMenuFileNew.setText("New"); 
jMenuFileNew.addActionListener(new TextEditorFrame_jMenuFileNew_actionAdapter(this)); 
jMenuFileOpen.setText("Open"); 
jMenuFileOpen.addActionListener(new TextEditorFrame_jMenuFileOpen_actionAdapter(this)); 
jMenuFileSave.setText("Save"); 
jMenuFileSave.addActionListener(new TextEditorFrame_jMenuFileSave_actionAdapter(this)); 
jMenuFileSaveas.setText("Save As"); 
jMenuFileSaveas.addActionListener(new TextEditorFrame_jMenuFileSaveas_actionAdapter(this)); 
jMenuEdit.setText("Edit"); 
jMenuEdit.addFocusListener(new TextEditorFrame_jMenuEdit_focusAdapter(this)); 
jMenuEditUndo.setText("Undo"); 
jMenuEditUndo.addActionListener(new TextEditorFrame_jMenuEditUndo_actionAdapter(this)); 
jMenuEditRedo.setText("Redo"); 
jMenuEditRedo.addActionListener(new TextEditorFrame_jMenuEditRedo_actionAdapter(this)); 
jMenuEditSelAll.setText("Select All"); 
jMenuEditCopy.setText("Copy"); 
jMenuEditCopy.addActionListener(new TextEditorFrame_jMenuEditCopy_actionAdapter(this)); 
jMenuEditCut.setText("Cut"); 
jMenuEditCut.addActionListener(new TextEditorFrame_jMenuEditCut_actionAdapter(this)); 
jMenuEditPaste.setText("Paste"); 
jMenuEditPaste.addActionListener(new TextEditorFrame_jMenuEditPaste_actionAdapter(this)); 
jMenuEditColor.setText("Foreground Color"); 
jMenuEditColor.addActionListener(new TextEditorFrame_jMenuEditColor_actionAdapter(this)); 
jMenuEditBColor.setText("Background Color"); 
jMenuEditBColor.addActionListener(new TextEditorFrame_jMenuEditBColor_actionAdapter(this)); 
document1.addDocumentListener(new TextEditorFrame_document1_documentAdapter(this)); 
document1.addUndoableEditListener(new TextEditorFrame_document1_undoableEditAdapter(this)); 
jTextArea1.setToolTipText(""); 
jTextArea1.setText(""); 
jTextArea1.setLineWrap(true); 
jToolBar.add(jButton1); 
jToolBar.add(jButton2); 
jToolBar.add(jButton3); 
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); 
jMenuFile.add(jMenuFileNew); 
jMenuFile.add(jMenuFileOpen); 
jMenuFile.add(jMenuFileSave); 
jMenuFile.add(jMenuFileSaveas); 
jMenuFile.addSeparator(); 
jMenuFile.add(jMenuFileExit); 
jMenuEdit.add(jMenuEditUndo); 
jMenuEdit.add(jMenuEditRedo); 
jMenuEdit.addSeparator(); 
jMenuEdit.add(jMenuEditSelAll); 
jMenuEdit.add(jMenuEditCopy); 
jMenuEdit.add(jMenuEditCut); 
jMenuEdit.add(jMenuEditPaste); 
jMenuEdit.addSeparator(); 
jMenuEdit.add(jMenuEditColor); 
jMenuEdit.add(jMenuEditBColor); 
} 
//File | Exit action performed 
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; 
} 
} 

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.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 jMenuFileNew_actionPerformed(ActionEvent e) { 
if(okToAbandon()){ 
jTextArea1.setText(""); 
currentFileName = null; 
saveNeeded = false; 
updateTitle(); 
} 
} 

void jMenuFileOpen_actionPerformed(ActionEvent e) { 
openFile(); 
} 

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

void jMenuFileSaveas_actionPerformed(ActionEvent e) { 
saveAsFile(); 
} 

void jMenuEditCopy_actionPerformed(ActionEvent e) { 
String selText=jTextArea1.getSelectedText() ; 
if(selText !=null){ 
StringSelection selection=new StringSelection(selText); 
sysClipboard.setContents(selection,null) ; 
} 
} 

void jMenuEditCut_actionPerformed(ActionEvent e) { 
String selText=jTextArea1.getSelectedText() ; 
if(selText !=null){ 
StringSelection selection=new StringSelection(selText); 
sysClipboard.setContents(selection,null) ; 
jTextArea1.replaceSelection("") ; 
} 
} 

void jMenuEditPaste_actionPerformed(ActionEvent e) { 
Transferable content=sysClipboard.getContents(this) ; 
if(content==null) return; 
try{ 
String text=(String)(content.getTransferData(DataFlavor.stringFlavor ) ); 
jTextArea1.replaceSelection(text) ; 
}catch(Exception ex){ 
} 
} 



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 document1_changedUpdate(DocumentEvent documentEvent) { 
saveNeeded=true; 
updateTitle(); 
} 

void document1_insertUpdate(DocumentEvent documentEvent) { 
saveNeeded=true; 
updateTitle(); 
} 

void document1_removeUpdate(DocumentEvent documentEvent) { 
saveNeeded=true; 
updateTitle(); 
} 

void document1_undoableEditHappened(UndoableEditEvent e) { 
edit.addEdit(e.getEdit()); 
} 

void jMenuEditUndo_actionPerformed(ActionEvent e) { 
edit.undo(); 

⌨️ 快捷键说明

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