小型记事本(Java版)

import javax.swing.*;

import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class NotPad {
JTextArea TArea;
String data1;
String path="";
int SaveTimes=0;
JScrollPane ShuiPing,ShuZhi;
JButton button=new JButton("MyFile");
JFileChooser fchooser;
JFrame frm=new JFrame();
JMenuBar bar;
JMenu MEdit;
JMenu MFile;
JMenu MView;
JMenu MStyle;
JMenu MHelp;

JMenuItem MINew;
JMenuItem MIOpen;
JMenuItem MISave;
JMenuItem MISave_as;
JMenuItem MIExit;

JMenuItem MICopy;
JMenuItem MIPaste;
JMenuItem MITast;

JMenuItem MINew_Line;
JMenuItem MIWord;

JMenuItem MIAbout;
public NotPad(){
frm.setTitle("My Note Pad");


TArea=new JTextArea();
bar=new JMenuBar();
MFile=new JMenu("文件(F)");
MEdit=new JMenu("编辑(E)");
MView=new JMenu("查看(V)");
MStyle=new JMenu("格式(S)");
MHelp=new JMenu("帮助(H)");

bar.add(MFile);
bar.add(MEdit);
bar.add(MStyle);
bar.add(MView);
bar.add(MHelp);

MINew=new JMenuItem("新建(N)");
MIOpen=new JMenuItem("打开(O)");
MISave=new JMenuItem("保存(S)");
MISave_as=new JMenuItem("另存为(A)");
MIExit=new JMenuItem("退出");
MFile.add(MINew);
MFile.add(MIOpen);
MFile.add(MISave);
MFile.add(MISave_as);
MFile.add(MIExit);

MICopy=new JMenuItem("复制(C)");
MIPaste=new JMenuItem("粘贴(P)");
MITast=new JMenuItem("剪贴(T)");
MEdit.add(MICopy);
MEdit.add(MIPaste);
MEdit.add(MITast);

MINew_Line=new JMenuItem("自动换行(W)");
MIWord=new JMenuItem("字体(F)");
MStyle.add(MINew_Line);
MStyle.add(MIWord);

MIAbout=new JMenuItem("关于(A)");
MHelp.add(MIAbout);

MINew.addActionListener(new MyactListener());
MIOpen.addActionListener(new MyactListener());
MISave.addActionListener(new MyactListener());
MISave_as.addActionListener(new MyactListener());
MIExit.addActionListener(new MyAction());;
MICopy.addActionListener(new MyAction());
MIPaste.addActionListener(new MyAction());
MITast.addActionListener(new MyAction());
MIAbout.addActionListener(new MyAction());
MINew_Line.addActionListener(new MyAction());
MIWord.addActionListener(new MyAction());

frm.setJMenuBar(bar);
frm.add(TArea);
frm.setBounds(370,200,600,500);
frm.setVisible(true);
}
public static void main(String[]args){
new NotPad();
}
class MyAction implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==MICopy)
TArea.copy();
else if(e.getSource()==MITast)
TArea.cut();
else if(e.getSource()==MIPaste)
TArea.paste();
else if(e.getSource()==MIAbout)
JOptionPane.showMessageDialog(null,"作         者:fq\n创作时间"+
":2009/9/13\n版本号:0.01\n");
else if(e.getSource()==MINew_Line){
/TArea.setWrapStyleWord(true);

}else if(e.getSource()==MIExit)
System.exit(0);
}
}
class MyactListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==MINew){
TArea.setText("");
SaveTimes=0;
}else if(e.getSource()==MIOpen){
JFileChooser openFile=new JFileChooser();
openFile.setSize(100,100);
int chiceOpen=openFile.showOpenDialog(button);
path=openFile.getSelectedFile().getAbsolutePath();
SaveTimes=0;
OpenData();
}else if(e.getSource()==MISave){
if(SaveTimes==0){
save();
}else
saveData();
SaveTimes++;
}else if(e.getSource()==MISave_as){
save();
}

}
void save(){
JFileChooser saveFile=new JFileChooser();
saveFile.setSize(100,100);
int chiceClose=saveFile.showSaveDialog(button.getParent());
path=saveFile.getSelectedFile().getAbsolutePath();
saveData();
}
void saveData(){//保存文件!
try{
File DataFile=new File(path);
FileWriter writeOut=new FileWriter(DataFile);
writeOut.write(TArea.getText());
writeOut.close();
}catch(IOException e){
JOptionPane.showMessageDialog(null,"保存文件出错!");
}
}
void OpenData(){//打开文件!
try{  
TArea.setText("");
File DataFile=new File(path);
FileReader readIn=new FileReader(DataFile);
int size=(int)DataFile.length();
int charsRead=0;
char[]content=new char[size];
while(readIn.ready()){
charsRead+=readIn.read(content,charsRead,size-charsRead);
readIn.close();
TArea.setText(new String(content,0,charsRead));
}
}catch(IOException e){
JOptionPane.showMessageDialog(null,"打开文件出错!");
}
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值