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) 回复
还不错啊,值得学习学习
回复评论