java记事本程序Word文档格式.docx
《java记事本程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《java记事本程序Word文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
elsegetMenu(项数).addSeparator();
publicvoid添加监听器(ActionListener全部){
getMenuCount();
for(intj=0;
j<
getMenu(i).getItemCount();
j++){
getMenu(i).getItem(j).addActionListener(全部);
}
class文件处理{
privateFileDialog对话框;
public文件处理(Frame父窗口){
对话框=newFileDialog(父窗口,"
"
FileDialog.LOAD);
publicString获取路径(){
return对话框.getDirectory()+"
\\"
+对话框.getFile();
publicString获取数据()throwsIOException{
对话框.setTitle("
打开文件..."
);
对话框.setMode(FileDialog.LOAD);
对话框.setVisible(true);
BufferedReader读取缓冲=newBufferedReader(newFileReader(获取路径()));
StringBuffer文本缓冲=newStringBuffer();
String单行文本;
while((单行文本=读取缓冲.readLine())!
=null)文本缓冲.append(单行文本+'
\n'
读取缓冲.close();
return文本缓冲.toString();
publicvoid保存文件(String数据)throwsIOException{
保存文件..."
对话框.setMode(FileDialog.SAVE);
BufferedWriter写入缓冲=newBufferedWriter(newFileWriter(获取路径()));
写入缓冲.write(数据);
写入缓冲.close();
class剪贴板处理{
privateClipboard剪贴板;
public剪贴板处理(){
剪贴板=Toolkit.getDefaultToolkit().getSystemClipboard();
publicvoid存入数据(String数据){
剪贴板.setContents(newStringSelection(数据),null);
publicString获取数据(){
Transferable接口=剪贴板.getContents(null);
try{
return(String)接口.getTransferData(DataFlavor.stringFlavor);
}catch(Exceptione){}
returnnull;
class查找extendsDialogimplementsActionListener{
privateLabel查找标签=newLabel("
查找内容:
privateLabel替换标签=newLabel("
替换内容:
privateTextField查找框=newTextField(50);
privateTextField替换框=newTextField(50);
privateButton查找按钮=newButton("
查找"
privateButton替换按钮=newButton("
替换"
privateTextArea被查框;
public查找(Frameowner,TextArea被查框){
super(owner,"
false);
this.被查框=被查框;
setLayout(null);
查找标签.setBounds(10,30,80,20);
替换标签.setBounds(10,70,80,20);
查找框.setBounds(90,30,90,20);
替换框.setBounds(90,30,90,20);
查找按钮.setBounds(190,30,80,20);
替换按钮.setBounds(190,30,80,20);
add(查找标签);
add(替换标签);
add(查找框);
add(替换框);
add(替换按钮);
add(查找按钮);
setResizable(false);
查找按钮.addActionListener(this);
替换按钮.addActionListener(this);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
查找.this.dispose();
});
publicvoid显示查找(){
setTitle("
查找..."
setSize(280,60);
setVisible(true);
publicvoid显示替换(){
查找并替换..."
setSize(280,110);
privatevoid查找(){
String文本=被查框.getText();
String查文本=查找框.getText();
int结尾=文本.length();
int长度=查文本.length();
int起始位置=被查框.getSelectionEnd();
if(起始位置==结尾)起始位置=0;
for(;
起始位置<
=结尾-长度;
起始位置++){
if(查文本.equals(文本.substring(起始位置,起始位置+长度))){
被查框.setSelectionStart(起始位置);
被查框.setSelectionEnd(起始位置+长度);
return;
被查框.setSelectionStart(结尾);
被查框.setSelectionEnd(结尾);
privatevoid替换(){
String替换文本=替换框.getText();
if(被查框.getText().equals(替换框.getText()))
被查框.replaceRange(替换文本,被查框.getSelectionStart(),被查框.getSelectionEnd());
else查找();
publicvoidactionPerformed(ActionEvent事件){
if(事件.getSource()==查找按钮)查找();
elseif(事件.getSource()==替换按钮)替换();
publicclass记事本extendsFrameimplementsActionListener{
/**
*@paramargsthecommandlinearguments
*/
privateTextArea编辑框=newTextArea();
private文件处理文件=new文件处理(this);
private剪贴板处理剪贴板=new剪贴板处理();
private查找查找对话=new查找(this,编辑框);
privateString[]菜单栏=newString[]{"
文件"
"
编辑"
帮助"
};
privateString[]子菜单0=newString[]{"
新建"
打开"
保存"
null,"
退出"
privateString[]子菜单1=newString[]{"
剪切"
复制"
粘贴"
清除"
全选"
privateString[]子菜单2=newString[]{"
查找替换"
privateString[]子菜单3=newString[]{"
关于记事本..."
public记事本(String标题){
super(标题);
菜单本菜单=new菜单(this);
本菜单.添加菜单(菜单栏);
本菜单.添加菜单项(0,子菜单0);
本菜单.添加菜单项(1,子菜单1);
本菜单.添加菜单项(2,子菜单2);
本菜单.添加菜单项(3,子菜单3);
add(编辑框);
本菜单.添加监听器(this);
记事本.this.dispose();
publicvoidMain(Stringarg){
String选择项=(String)事件.getActionCommand();
if(选择项.equals(子菜单0[0]))编辑框.setText("
elseif(选择项.equals(子菜单0[1])){
try{
编辑框.setText(文件.获取数据());
}catch(IOExceptionioe){}
elseif(选择项.equals("
子菜单0[2]"
)){
文件.保存文件(编辑框.getText());
子菜单0[4]"
dispose();
子菜单1[0]"
剪贴板.存入数据(编辑框.getSelectedText());
编辑框.replaceRange("
编辑框.getSelectionStart(),编辑框.getSelectionEnd());
子菜单1[1]"
子菜单1[2]"
String获得文本=剪贴板.获取数据();
编辑框.replaceRange(获得文本,编辑框.getSelectionStart(),编辑框.getSelectionEnd());
子菜单1[3]"
子菜单1[5]"
编辑框.setSelectionStart(0);
编辑框.setSelectionEnd(编辑框.getText().length());
子菜单2[0]"
查找对话.显示查找();
子菜单2[2]"
查找对话.显示替换();
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
记事本记事本实例=new记事本("
我的记事本"
记事本实例.setSize(300,300);
记事本实例.setVisible(true);