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

📄 notepad.java

📁 java版本的记事本的原代码!你要装了JDK还有适当的坏境变量!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.io.*; 

/* 
* 类 名:Notepad.java 
* 程序名称:Java 记事本 
* 代码编写:Cavien E-mail:Cavien@163.com 
* 网 站: http://www.cavien.com 
* 
* 2005年12月23日 
*/ 

public class Notepad extends JFrame { 

// 系统组件声明 //************************************************ 
private JMenuBar menuBar = new JMenuBar(); 
private JEditorPane content = new JEditorPane(); 
private JScrollPane scroll = new JScrollPane(content); 
private JFileChooser filechooser = new JFileChooser() ; 
private BorderLayout bord = new BorderLayout(); 
private JLabel statusBar = new JLabel(); 
private JPanel pane = new JPanel(); 
private File file = null; 
//**************************************************************** 

// 定义文件菜单 //************************************************ 
private JMenu fileMenu = new JMenu(); 
private JMenuItem newMenuItem = new JMenuItem(); 
private JMenuItem openMenuItem = new JMenuItem(); 
private JMenuItem saveMenuItem = new JMenuItem(); 
private JMenuItem saveAsMenuItem = new JMenuItem(); 
private JMenuItem pageSetupMenuItem = new JMenuItem(); 
private JMenuItem printMenuItem = new JMenuItem(); 
private JMenuItem exitMenuItem = new JMenuItem(); 
//**************************************************************** 

// 定义风格菜单 //************************************************ 
private JMenu styleMenu = new JMenu(); 
private ButtonGroup styleMenuGroup = new ButtonGroup(); 
private JRadioButtonMenuItem javaStyleMenuItem = new JRadioButtonMenuItem(); 
private JRadioButtonMenuItem metalStyleMenuItem = new JRadioButtonMenuItem(); 
private JRadioButtonMenuItem windowsStyleMenuItem = new JRadioButtonMenuItem(); 
//**************************************************************** 

// 定义帮助菜单 //************************************************ 
private JMenuItem aboutMenuItem = new JMenuItem(); 
private JMenuItem helpTopicMenuItem = new JMenuItem(); 
private JMenu helpMenu = new JMenu(); 
//**************************************************************** 

// 构造函数 //**************************************************** 
public Notepad(){ 
initComponents(); 
} 
//**************************************************************** 

private void initComponents(){ 

// 添加子菜单项到文件菜单 //********************************** 
fileMenu.setText("\u6587\u4ef6 (F)"); 
newMenuItem.setText(" 新建(N) Ctrl+N"); 
openMenuItem.setText(" 打开(O)... Ctrl+O"); 
saveMenuItem.setText(" 保存(S) Ctrl+S"); 
saveAsMenuItem.setText(" 另存为(A)..."); 
pageSetupMenuItem.setText(" 页面设置(U)..."); 
printMenuItem.setText(" 打印(P)... Ctrl+P"); 
exitMenuItem.setText(" 退出"); 
fileMenu.add(newMenuItem); 
fileMenu.add(openMenuItem); 
fileMenu.add(saveMenuItem); 
fileMenu.add(saveAsMenuItem); 
fileMenu.addSeparator(); 
fileMenu.add(pageSetupMenuItem); 
fileMenu.add(printMenuItem); 
fileMenu.addSeparator(); 
fileMenu.add(exitMenuItem); 
//************************************************************* 

// 添加子菜单项到风格菜单 //********************************** 
styleMenu.setText("风格(S)"); 
javaStyleMenuItem.setText("Java默认"); 
metalStyleMenuItem.setText("Metal风格"); 
windowsStyleMenuItem.setText("Windows风格"); 
styleMenuGroup.add(javaStyleMenuItem); 
styleMenuGroup.add(metalStyleMenuItem); 
styleMenuGroup.add(windowsStyleMenuItem); 
styleMenu.add(javaStyleMenuItem); 
styleMenu.add(metalStyleMenuItem); 
styleMenu.add(windowsStyleMenuItem); 
//************************************************************* 

// 添加子菜单项到帮助菜单 //********************************** 
helpMenu.setText("帮助(H)"); 
helpTopicMenuItem.setText(" 帮助主题(H)"); 
aboutMenuItem.setText(" 关于记事本(A)"); 
helpMenu.add(helpTopicMenuItem); 
helpMenu.addSeparator(); 
helpMenu.add(aboutMenuItem); 
//************************************************************* 

// 定义文件菜单下的事件监听 //*********************************** 
newMenuItem.addActionListener(new newMenuItem_actionAdapter(this)); 
openMenuItem.addActionListener(new openMenuItem_actionAdapter(this)); 
saveMenuItem.addActionListener(new saveMenuItem_actionAdapter(this)); 
saveAsMenuItem.addActionListener(new saveAsMenuItem_actionAdapter(this)); 
pageSetupMenuItem.addActionListener(new pageSetupMenuItem_actionAdapter(this)); 
printMenuItem.addActionListener(new printMenuItem_actionAdapter(this)); 
exitMenuItem.addActionListener(new exitMenuItem_actionAdapter(this)); 
//*************************************************************** 

// 定义风格菜单下的事件监听 //*********************************** 
javaStyleMenuItem.addActionListener(new javaStyleMenuItem_actionAdapter(this)); 
metalStyleMenuItem.addActionListener(new metalStyleMenuItem_actionAdapter(this)); 
windowsStyleMenuItem.addActionListener(new windowsStyleMenuItem_actionAdapter(this)); 
//*************************************************************** 

// 定义帮助菜单下的事件监听 //*********************************** 
helpTopicMenuItem.addActionListener(new helpTopicMenuItem_actionAdapter(this)); 
aboutMenuItem.addActionListener(new aboutMenuItem_actionAdapter(this)); 
//*************************************************************** 

// 填加菜单到菜单栏 //******************************************* 
menuBar.add(fileMenu); 
menuBar.add(styleMenu); 
menuBar.add(helpMenu); 
//*************************************************************** 

// 对主窗口的一些设置 //***************************************** 
this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
this.setTitle("无标题 - \u8bb0\u4e8b\u672c"); 
this.setSize(640,480); 
//*************************************************************** 

setJMenuBar(menuBar); 
pane.setLayout(bord); 
pane.add("Center",scroll); 
setContentPane(pane); 
} 
// 定义新建菜单项方法 //****************************************** 
public void newMenuItemActionPerformed(ActionEvent evt){ 
file = null; 
if(!("".equals(content.getText()))){ 
Object[] options = { " 是(Y) ", " 否(N) "," 取消 " }; 
int s = JOptionPane.showOptionDialog(null, "\u6587\u4ef6 "+getTitle()+" \u7684\u6587\u5b57\u5df2\u7ecf\u6539\u53d8\u3002\n\u60f3\u4fdd\u5b58\u6587\u4ef6\u5417\uff1f", "\u8bb0\u4e8b\u672c", 
JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, 
null, options, options[0]); 
switch(s){ 
case 0: 
int returnVal=filechooser.showSaveDialog(this); 
if(returnVal == JFileChooser.APPROVE_OPTION) { 
file=filechooser.getSelectedFile(); 
try{ 
FileWriter fw=new FileWriter(file); 
fw.write(content.getText()); 
setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c"); 
fw.close(); 
} 
catch(Exception e){ 
e.printStackTrace(); 
} 
break; 
} 
case 1: 
content.setText(""); 
setTitle("无标题 - \u8bb0\u4e8b\u672c"); 
} 
} 
} 
//**************************************************************** 

// 定义打开菜单项方法 //****************************************** 
public void openMenuItemActionPerformed(ActionEvent evt){ 
try { 
file = null; 
int returnVal = filechooser.showOpenDialog(this); 
if(returnVal == JFileChooser.APPROVE_OPTION){ 
file = filechooser.getSelectedFile(); 
FileReader fr = new FileReader(file); 
int len = (int)file.length(); 
char[] buffer = new char[len]; 
fr.read(buffer,0,len); 
fr.close(); 
content.setText(new String(buffer)); 
} 
} 
catch(Exception e){ 
e.printStackTrace(); 
} 
} 
//**************************************************************** 

// 定义退出菜单项方法 //****************************************** 
public void exitMenuItem_actionPerformed(ActionEvent e){ 
if(!("".equals(content.getText()))){ 
Object[] options = { " 是(Y) ", " 否(N) "," 取消 " }; 
int s = JOptionPane.showOptionDialog(null, "文件的文字已经改变。\n想保存文件吗?", "\u8bb0\u4e8b\u672c", 
JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, 
null, options, options[0]); 
switch(s){ 
case 0: 
int returnVal=filechooser.showSaveDialog(this); 
if(returnVal == JFileChooser.APPROVE_OPTION) { 
file=filechooser.getSelectedFile(); 
try{ 
FileWriter fw=new FileWriter(file); 
fw.write(content.getText()); 
setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c"); 
fw.close(); 
} 
catch(Exception ex){ 
ex.printStackTrace(); 
} 
break; 
} 
case 1: 
System.exit(0); 
} 
} 
else{ 
System.exit(0); 
} 
} 
//**************************************************************** 

// 保存事件 //**************************************************** 
public void saveMenuItemActionPerformed(ActionEvent evt){ 
int returnVal=filechooser.showSaveDialog(this); 
if(returnVal == JFileChooser.APPROVE_OPTION) { 
file=filechooser.getSelectedFile(); 
try{ 
FileWriter fw=new FileWriter(file); 
fw.write(content.getText()); 
setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c"); 
fw.close(); 
} 
catch(Exception e){ 
e.printStackTrace(); 
} 
} 
} 

⌨️ 快捷键说明

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