Java课程设计
【题目】:使用已经学习的java知识编写一个简单的记事本
【实现功能】:
【1】文件: 新建 打开 保存 另存为 退出
【2】编辑: 剪切 复制 粘贴 删除 撤销
【3】格式: 自动换行 字体格式 字体颜色 查找||替换
【4】查看: 关于记事本
【5】帮助 :帮助选项
【6】显示当前时间
【使用的类】:
import.java.io;
import java.swt;
import javax.swing;
import javax.swing.undo.UndoManager
代码:
package Note;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JColorChooser;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.undo.UndoManager; // 对菜单活动事件撤销的实现
public class NotePad extends JFrame /// extends继承JFrame类
{
int start = 0, end = 0;
private UndoManager manager = new UndoManager();// 添加布局管理器
private JTextArea text = new JTextArea();
private JFileChooser jfc = new JFileChooser();
private String jsb = "新建记事本";
private File file;
private JMenuBar menu;
// ---------------菜单栏
private JMenu File_bar, Edit_bar, Format_bar, View_bar, Help_bar;
// ---------------文件菜单
private JMenuItem File_bar_creat, File_bar_open, File_bar_save, File_bar_othersave, File_bar_exit;
// ---------------编辑菜单
private JMenuItem Edit_bar_Revoke, Edit_bar_shear, Edit_bar_copy, Edit_bar_paste, Edit_bar_delete;
// ---------------格式菜单
private JMenuItem Format_bar_hl, m30, Format_bar_ztxz, Format_bar_ztsz, View_bar_about, Help_bar_help;
// ---------------查找替换菜单
private JMenuItem Format_bar_find_replace;
private JLabel statusLabel1;
private JToolBar statusBar;
GregorianCalendar time = new GregorianCalendar();
int hour = time.get(Calendar.HOUR_OF_DAY);
int min = time.get(Calendar.MINUTE);
int second = time.get(Calendar.SECOND);
/* 文件格式过滤器 */
public class filter extends javax.swing.filechooser.FileFilter
{
public boolean accept(File file)
{
String name = file.getName();
name.toString(); // 该字符串中的数字被转换为字符
/* 文件后缀是.txt且是个目录 */
if (name.endsWith(".txt") || file.isDirectory())
{
return true;
} else
return false;
}
/* 将引用具体子类的子类对象的方法,不可以省略类中的getDescription(),原因是编译器只允许调用在类中声明的方法. */
public String getDescription()
{
return ".txt";
}
}
/* 将菜单项 JMenu添加菜单 JMenuBar */
public JMenu AddBar(String name, JMenuBar menu)
{
JMenu jmenu = new JMenu(name);
menu.add(jmenu);
return jmenu;
}
/* 将菜单项JMenuItem添加到菜单JMenu */
public JMenuItem AddItem(Strin