📄 note.java
字号:
});
but_return.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileReturn_actionPerformed(e);
}
});
but_revert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileRevert_actionPerfomend(e);
}
});
but_new.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileNew_actionPerformed(e);
}
});
but_open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileOpen_actionPerformed(e);
}
});
but_save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileSave_actionPerformed(e);
}
});
but_cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileCut_actionPerformed(e);
}
});
but_copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileCopy_actionPerformed(e);
}
});
but_paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
filePaste_actionPerformed(e);
}
});
ditFont.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
font_actionPerformed(e);
final JFrame frame = new JFrame("字体");
final FontChooser chooser = new FontChooser(frame);
chooser.setVisible(true);
@SuppressWarnings("unused")
Font font = chooser.getSelectedFont();
}
});
jtb.add(but_return);
jtb.add(but_revert);
jtb.add(but_new);
jtb.add(but_open);
jtb.add(but_save);
jtb.add(but_cut);
jtb.add(but_copy);
jtb.add(but_paste);
jtb.add(jlb_line);
this.setJMenuBar(menuBar);
this.add(jtb, "North");
int ntWidth = this.getSize().width;
int ntHeigth = this.getSize().height;
// System.out.println(ntWidth+ "\n" + ntHeigth);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setLocation((screenNote.width - ntWidth) / 2,
(screenNote.height - ntHeigth) / 2);
Font fontConfig = new Font("黑体", Font.ITALIC, 16);//默认字体设置
fontConf(fontConfig);
}
public void fileReturn_actionPerformed(ActionEvent e) {
returnDo();
}
protected void fileRevert_actionPerfomend(ActionEvent e) {
revertDo();
}
private void fileTime_ActionPermed(ActionEvent e) {
Calendar now=Calendar.getInstance(); //创建一个日历对象
now.setTime(new Date());
//年,月,日
String str_Year,str_Month,str_Day,str_date;
str_Year=String.valueOf(now.get(Calendar.YEAR));
str_Month=String.valueOf(now.get(Calendar.MONTH)+1);
str_Day=String.valueOf(now.get(Calendar.DAY_OF_MONTH));
str_date=str_Year+" - "+str_Month+" - "+str_Day;
//时,分,秒
String hour,minute,second,str_time;
hour=String.valueOf(now.get(Calendar.HOUR_OF_DAY));
minute=String.valueOf(now.get(Calendar.MINUTE));
second=String.valueOf(now.get(Calendar.SECOND));
str_time=hour+":"+minute+":"+second;
fileArea.insert(str_date+"\t"+str_time+"\n",fileArea.getCaretPosition());/*在光标所在的位置插入时间、日期*/
}
/*************************字体设置********************************/
public static void fontConf(Font font) {
String name = font.getFamily();
int style = font.getStyle();
int size = font.getSize();
Font tempFont = new Font(name, style, size);
// System.out.println("这是在note中的字体 "+tempFont);
fileArea.setFont(tempFont);
}
/************************字体设置结束*****************************/
protected void fileNew_actionPerformed(ActionEvent e) {
if (fileArea.getText().length() == 0) {
fileArea.setText(null);
}
else {
int decision = JOptionPane.showConfirmDialog(this, "文件已经改变 .\n"
+ "是否要保存?", "记事本", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
if (decision == JOptionPane.YES_OPTION) {
JFileChooser fileSave = new JFileChooser();
fileSave.setDialogTitle("保存文件");
fileSave.addChoosableFileFilter(fileSave.getFileFilter());
if (JFileChooser.APPROVE_OPTION != fileSave
.showSaveDialog(this)) {
return;
}
filePath = fileSave.getSelectedFile().toString();
} else if (decision == JOptionPane.NO_OPTION) {
fileArea.setText(null);
} else {
setVisible(true);
}
}
}
private void autoLine_WrapActionPerformed(java.awt.event.ActionEvent evt) {
if (autoLine.getState() == true) {
fileArea.setLineWrap(true);
} else {
fileArea.setLineWrap(false);
}
}
public void fileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
public void fileOpen_actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
fileChooser.addChoosableFileFilter(fileChooser.getFileFilter());
if (JFileChooser.APPROVE_OPTION != fileChooser.showOpenDialog(this))
return;
BufferedReader dataIn = null;
try {
dataIn = new BufferedReader(new FileReader(fileChooser
.getSelectedFile().getPath()));
String c = null;
do {
c = dataIn.readLine();
if (c != null)
fileArea.append(c + "\n");
} while (c != null);
} catch (Exception ex) {
System.out.println("Catch exception:" + ex.toString());
}
}
@SuppressWarnings("static-access")
public void fileSave_actionPerformed(ActionEvent e1) {
// 以下是将文件写入计算机!
JFileChooser fileSave = new JFileChooser();
fileSave.setDialogTitle("保存文件");
fileSave.addChoosableFileFilter(fileSave.getFileFilter());
fileSave.setVisible(true);
if (fileSave.APPROVE_OPTION != fileSave.showSaveDialog(this))
return;
filePath = fileSave.getSelectedFile().toString();
saveFile(filePath);
}
public void fileCut_actionPerformed(ActionEvent e) {
fileArea.cut();
}
public void filePaste_actionPerformed(ActionEvent e) {
fileArea.paste();
}
public void fileCopy_actionPerformed(ActionEvent e) {
fileArea.copy();
}
public void fileFind_actionPerformed(ActionEvent e) {
findDialog fd = new findDialog();
fd.setVisible(true);
}
public void fileReplace_actionPermed(ActionEvent e) {
Replace replace = new Replace();
replace.setVisible(true);
}
public void font_actionPerformed(ActionEvent e) {
}
public void fileColor_actionPerformed(ActionEvent e) {
new JColor().setVisible(true);
}
public void About_actionPerformed(ActionEvent e) {
/*final JDialog jdlog = new JDialog(this, "关于...", true);
jdlog.setSize(250, 100);
final JButton jdb = new JButton("李宏博 制作.\n" + " TCIT工作室 ");
jdlog.add(jdb, "Center");
jdb.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent arg0) { jdlog.dispose();
}
public void mouseEntered(MouseEvent arg0) { jdb.setToolTipText("点击关闭此对话框");
}
public void mouseExited(MouseEvent arg0) { }
public void mousePressed(MouseEvent arg0) { }
public void mouseReleased(MouseEvent arg0) { }
});
jdlog.setVisible(true);*/
new helpFrame().setVisible(true);
}
public void exit() {
if (isChange == false)
System.exit(1);
else {
fileChange();
saveFile(filePath);
System.exit(1);
}
}
public void fileChange() {
int decision = JOptionPane.showConfirmDialog(this, "文件已经改变 .\n"
+ "是否要保存?", "记事本", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
if (decision == JOptionPane.YES_OPTION) {
JFileChooser fileSave = new JFileChooser();
fileSave.setDialogTitle("保存文件");
fileSave.addChoosableFileFilter(fileSave.getFileFilter());
if (JFileChooser.APPROVE_OPTION != fileSave.showSaveDialog(this)) {
return;
}
filePath = fileSave.getSelectedFile().toString();
} else if (decision == JOptionPane.NO_OPTION) {
System.exit(1);
} else {
setVisible(true);
}
}
/****这里是实现有格式的保存
* 只要调用保存(saveFile )方法 先执行do{}其中的内容
* 循环一圈(保存完毕) 后 检查 参数 c
* c =null 退出循环
* 关闭 流
*/
public void saveFile(String path) {
try {
FileWriter fw = new FileWriter(path);
BufferedWriter bw = new BufferedWriter(fw);
String c = null;
do {
String str = fileArea.getText();
for (int i = 0; i < str.split("\n").length; i++) {
bw.write(str.split("\n")[i]);
bw.newLine();
}
} while (c!= null);
bw.close();
} catch (Exception e2) {
System.out.println("有错误!" + e2.toString());
}
}
/*************** 设置撤销按钮是否可撤销 *********************/
private void Update() {
menuFileReturn.setEnabled(undoManager.canUndo());
but_return.setEnabled(undoManager.canUndo());
menuFileRevert.setEnabled(undoManager.canRedo());
but_revert.setEnabled(undoManager.canRedo());
}
/*************** 设置撤销按钮是否可撤销 *********************/
public void returnDo() {
try {
undoManager.undo();
} catch (CannotRedoException cre) {
}
Update();
}
/*************** 撤销按钮功能实现方法 *********************/
public void revertDo() {
try {
undoManager.redo();
} catch (CannotRedoException cre) {
}
Update();
}
public static void main(String[] args){
new Note().setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -