[java]代码库
package NoteBook;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.text.SimpleDateFormat;
import javax.swing.*;
public class SampleNoteBook extends JFrame implements ActionListener, Runnable {
private JMenuBar mb;
private JMenu file, edit, form, help, timeShow, size, color;
private JMenuItem newFile, open, save, save1, exit;
private JMenuItem copy, paste, cut, time;
private JMenuItem about;
private JMenuItem size1, size2, size3, size4;
private JMenuItem color1, color2, color3;
private FileDialog openDialog, saveDialog, save1Dialog;
private TextArea ta;
private File file1;
public void setupTime() {
Thread thread1 = new Thread(this);
thread1.start();
}
public void run() {
while (true) {
SimpleDateFormat sdf = new SimpleDateFormat("HH : mm : ss");
timeShow.setText("当前时间: " + sdf.format(new Date()));
timeShow.setForeground(Color.RED);
}
}
public SampleNoteBook() {
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int width = d.width;
int height = d.height;
this.setLocation((width - 700) / 2, (height - 500) / 2);
this.setSize(700, 500);
this.setTitle("简易记事本");
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
// 将Frame标题栏的图标修改成你自己的图标了
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk
.createImage("D:\\Eclipse\\workspace\\NoteBook\\images\\36.gif"); /*
* image
* .
* gif是你的图标
*/
this.setIconImage(image);
mb = new JMenuBar();
file = new JMenu("文件");
edit = new JMenu("编辑");
form = new JMenu("格式");
help = new JMenu("帮助");
timeShow = new JMenu();
size = new JMenu("字体大小");
color = new JMenu("字体颜色");
newFile = new JMenuItem("新建");
open = new JMenuItem("打开");
save = new JMenuItem("保存");
save1 = new JMenuItem("另存为");
exit = new JMenuItem("退出");
copy = new JMenuItem("复制");
paste = new JMenuItem("粘贴");
cut = new JMenuItem("剪切");
time = new JMenuItem("当前时间");
ta = new TextArea();
ta.setEditable(false);
about = new JMenuItem("关于");
size1 = new JMenuItem("10");
size2 = new JMenuItem("15");
size3 = new JMenuItem("20");
size4 = new JMenuItem("25");
color1 = new JMenuItem("红色");
color2 = new JMenuItem("绿色");
color3 = new JMenuItem("蓝色");
color1.setForeground(Color.RED);
color2.setForeground(Color.GREEN);
color3.setForeground(Color.BLUE);
/*
* size1.setFont(new Font("宋体",Font.BOLD,10)); size2.setFont(new
* Font("宋体",Font.BOLD,15)); size3.setFont(new Font("宋体",Font.BOLD,20));
* size4.setFont(new Font("宋体",Font.BOLD,25));
*/
openDialog = new FileDialog(this, "打开", FileDialog.LOAD);
saveDialog = new FileDialog(this, "保存", FileDialog.SAVE);
save1Dialog = new FileDialog(this, "另存为", FileDialog.SAVE);
mb.add(file);
file.add(newFile);
file.add(open);
file.addSeparator();
file.add(save);
file.add(save1);
file.addSeparator();
file.add(exit);
mb.add(edit);
edit.add(copy);
edit.add(paste);
edit.add(cut);
edit.addSeparator();
edit.add(time);
mb.add(form);
form.add(size);
form.add(color);
size.add(size1);
size.add(size2);
size.add(size3);
size.add(size4);
color.add(color1);
color.add(color2);
color.add(color3);
mb.add(help);
help.add(about);
mb.add(timeShow);
this.add(ta);
this.setJMenuBar(mb);
this.setVisible(true);
setupTime(); // 开启时间多线程
exit.addActionListener(this);
about.addActionListener(this);
open.addActionListener(this);
save.addActionListener(this);
save1.addActionListener(this);
color1.addActionListener(this);
color2.addActionListener(this);
color3.addActionListener(this);
// size1.addActionListener(this);
// size2.addActionListener(this);
// size3.addActionListener(this);
// size4.addActionListener(this);
newFile.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == exit) {
int num = JOptionPane.showConfirmDialog(null, " 你确定要退出?",
"退出", JOptionPane.YES_NO_CANCEL_OPTION);
if (num == JOptionPane.YES_OPTION)
System.exit(0);
}
else if (e.getSource() == newFile) {
ta.setEditable(true);
}
else if (e.getSource() == size1)
ta.setFont(new Font("宋体", Font.BOLD, 10));
else if (e.getSource() == size2)
ta.setFont(new Font("宋体", Font.BOLD, 15));
else if (e.getSource() == size3)
ta.setFont(new Font("宋体", Font.BOLD, 20));
else if (e.getSource() == size4)
ta.setFont(new Font("宋体", Font.BOLD, 25));
else if (e.getSource() == color1)
ta.setForeground(Color.RED);
else if (e.getSource() == color2)
ta.setForeground(Color.GREEN);
else if (e.getSource() == color3)
ta.setForeground(Color.BLUE);
else if (e.getSource() == about)
JOptionPane.showMessageDialog(null, " --汉代风云-作品\n 版权所有,侵权必究",
"版权信息", JOptionPane.INFORMATION_MESSAGE);
else if (e.getSource() == open) {
openDialog.setVisible(true);
String dirPath = openDialog.getDirectory();
String fileName = openDialog.getFile();
if (dirPath == null || fileName == null)
return;
ta.setText("");
file1 = new File(dirPath, fileName);
try {
BufferedReader bufr = new BufferedReader(new FileReader(file1));
String line = null;
while ((line = bufr.readLine()) != null) {
ta.append(line + "\r\n");
}
bufr.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
else if (e.getSource() == save1) {
save1Dialog.setVisible(true);
String dirPath = save1Dialog.getDirectory();
String fileName = save1Dialog.getFile();
if (dirPath == null || fileName == null)
return;
file1 = new File(dirPath, fileName);
try {
BufferedWriter bufw = new BufferedWriter(new FileWriter(file1));
String text = ta.getText();
bufw.write(text);
bufw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
else if (e.getSource() == save) {
if (file1 == null) {
saveDialog.setVisible(true);
String dirPath = saveDialog.getDirectory();
String fileName = saveDialog.getFile();
if (dirPath == null || fileName == null)
return;
file1 = new File(dirPath, fileName);
}
try {
BufferedWriter bufw = new BufferedWriter(new FileWriter(file1));
String text = ta.getText();
bufw.write(text);
bufw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
new SampleNoteBook();
}
}
[代码运行效果截图]
[源代码打包下载]
中级程序员
by: 汉代风云 发表于:2013-07-19 09:27:54 顶(1) | 踩(0) 回复
还不错啊,值得学习学习
回复评论