- 使用了@JackJiang- 制作的lookandfeel-BeautyEye
- 字号大小未设置
部分字体设置后会造成输入乱码
- BeautyEye简易开发指南
- BeautyEye在线帮助文档
import org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper;
import javax.swing.*;
//对菜单活动事件撤销的实现
import javax.swing.undo.UndoManager;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Calendar;
import java.util.GregorianCalendar;
/**
* Created by msi on 2016/11/27
*/
public class NotePad extends JFrame {
private 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 JMenuItem Format_bar_hl;
private JMenuItem m30;
private JLabel statusLabel1;
private GregorianCalendar time = new GregorianCalendar();
private int hour = time.get(Calendar.HOUR_OF_DAY);
private int min = time.get(Calendar.MINUTE);
private int second = time.get(Calendar.SECOND);
//空构造方法
private NotePad() {
}
//文件格式过滤器
public class filter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String name = file.getName();
//该字符串中的数字被转换为字符
name.toString();
//设置文件扩展名.txt
return name.endsWith(".txt") || file.isDirectory();
}
/**
* 将引用具体子类的子类对象的方法,不可以省略类中的getDescription()
* 原因是编译器只允许调用在类中声明的方法.
*/
public String getDescription() {
return ".txt";
}
}
//将菜单项 JMenu添加菜单 JMenuBar
private JMenu AddBar(String name, JMenuBar menu) {
JMenu jmenu = new JMenu(name);
menu.add(jmenu);
return jmenu;
}
//将菜单项JMenuItem添加到菜单JMenu
private JMenuItem AddItem(String name, JMenu menu) {
JMenuItem jmenu = new JMenuItem(name);
menu.add(jmenu);
return jmenu;
}
//添加模拟时钟
class Clock extends Thread {
public void run() {
while (true) {
GregorianCalendar time = new GregorianCalendar();
int hour = time.get(Calendar.HOUR_OF_DAY);
int min = time.get(Calendar.MINUTE);
int second = time.get(Calendar.SECOND);
statusLabel1.setText(" 当前时间:" + hour + ":" + min + ":" + second);
try {
Thread.sleep(950);
} catch (InterruptedException ignored) {
}
}
}
}
private NotePad note;
// public void NotePad()
{
Container container = getContentPane();
//设置窗口标题
setTitle(jsb);
//设置边界
setBounds(250, 250,