用Java编写的记事本程序(2)
2008-01-05 20:34:41 来源:WEB开发网核心提示:public void frame_windowclose_windowClosing(WindowListener e){ this.close(); } / public void text_mouseClicked(MouseEvent e){ if(e.getModifiers()==InputEvent.BU
public void frame_windowclose_windowClosing(WindowListener e){
this.close();
}
/////////////////////////////////////////////////////////
public void text_mouseClicked(MouseEvent e){
if(e.getModifiers()==InputEvent.BUTTON3_MASK){
pop.show((Component)e.getSource(),e.getX(),e.getY());
}
}
public void text_ancestorAdded(AncestorEvent e){
this.dirty=false;
this.newtext();
}
public void text_caretUpdate(CaretEvent e)
{
this.dirty=true;
//this.statubar.setText(this.text.getText());
}
///////////// File /////////////////////////////////////
public void File_open_actionPerformed(ActionEvent e){
//打开的事件
this.opentext();
}
public void File_new_actionPerformed(ActionEvent e){
///新建的事件
this.newtext();
}
public void File_save_actionPerformed(ActionEvent e){
//保存的事件
this.save();
}
public void File_saveas_actionPerformed(ActionEvent e){
//另存为
this.saveas();
}
public void File_quite_actionPerformed(ActionEvent e){
this.close();
}
////////////////// Edit /////////////////////////////////////
public void Edit_undo_actionPerformed(ActionEvent e){
//撤销
this.undo();
}
public void Edit_cut_actionPerformed(ActionEvent e){
//剪切
this.cut();
}
public void Edit_copy_actionPerformed(ActionEvent e){
//复制
this.copy();
}
public void Edit_paste_actionPerformed(ActionEvent e){
//粘贴
this.paste();
}
public void Edit_delete_actionPerformed(ActionEvent e){
//删除
this.delete();
}
public void Edit_find_actionPerformed(ActionEvent e){
//查找
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
FindDlg fd=new FindDlg(frame,"查找",true);
fd.show();
String str=fd.getFindStr().trim();
if(fd.getFlag()){
this.nextFindStr(str,cu,end);
}else{
this.upFindStr(str,cu);
}
}
public void Edit_replace_actionPerformed(ActionEvent e){
//替换
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
ReplaceDlg rd=new ReplaceDlg(frame,"替换",true);
rd.show();
this.replaceStr(rd.findStr().trim(),rd.replaceStr().trim(),cu,end);
}
public void Edit_selectall_actionPerformed(ActionEvent e){
//全选
this.text.setSelectionStart(0);
this.text.setSelectionEnd(this.text.getText().length());
}
public void Edit_timedate_actionPerformed(ActionEvent e){
//时间日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.text.append("\r\n当前时间:"+sdf.format(new Date()));
}
///////////// Format//////////////////////////////////////
public void Format_Word_actionPerformed(ActionEvent e){
//自动换行
if(!this.text.getLineWrap()){
this.text.setLineWrap(true);
}
else{
this.text.setLineWrap(false);
}
}
public void Format_font_actionPerformed(ActionEvent e){
//字体"常规","斜体","粗体","粗斜体"
Font cur=this.text.getFont();
int type=Font.BOLD;
FontSet fs=new FontSet(frame,"字体设置",true);
fs.show();
if(fs.flag){
switch(fs.font2()){
case 0:type=Font.PLAIN;break;
case 1:type=Font.99vALIC;break;
case 2:type=Font.BOLD; break;
case 3:type=Font.ROMAN_BASELINE;break;
default:type=Font.PLAIN;break;
}
Font f=new Font(fs.font1(),type,16);
this.text.setFont(f);
}else{
this.text.setFont(cur);
}
}
public void Format_color_actionPerformed(ActionEvent e){
// 颜色
Color current=this.text.getForeground();
this.jColor.setColor(current);
this.text.setForeground(
this.jColor.showDialog(text,"选择颜色",current));
}
//////////////////// Help /////////////////////////////////////
public void Help_about_actionPerformed(ActionEvent e){
//关于作者
new AboutDlg();
}
////////////////////////////////////////////////////////
public void pop_undo_actionPerformed(ActionEvent e){
//Pop undo
this.undo();
}
public void pop_cut_actionPerformed(ActionEvent e){
//pop cut
this.cut();
}
public void pop_copy_acionPerformed(ActionEvent e){
//pop copy
this.copy();
}
public void pop_paste_actionPerformed(ActionEvent e){
//pop paste
this.paste();
}
public void pop_delete_actionPerformed(ActionEvent e){
//pop delete
this.delete();
}
/************************************************************
/////////////////////////////////////////////////////////////
////////////// coustm function ///////////////////////////////
/////////////////////////////////////////////////////////////
************************************************************/
void close(){
if(this.dirty){
Dlgtext Dt=new Dlgtext(frame,"提示",true);
Dt.show();
if(Dt.getCheck()){
this.save();
}
else {
frame.dispose();
System.exit(0);
}
}else{
frame.dispose();
System.exit(0);
}
}
void newtext(){//新建
if((!this.dirty)(!this.saveas())){
this.text.setText("");
this.text.setFocusable(true);
this.frame.setTitle("未命名-----Author:Jeason");
this.statubar.setText("新建文本");
}
else this.saveas();
}
void opentext(){//打开
//
String strFileOpen="";
if(!this.dirty){
try{
if(this.jFileChooser1.APPROVE_OPTION==
this.jFileChooser1.showOpenDialog(frame)){
strFileOpen=this.jFileChooser1.getSelectedFile().getPath();
File file=new File(strFileOpen);
int flength=(int)file.length();
int num=0;
FileReader fReader=new FileReader(file);
char[] data=new char[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
this.text.setText(new String(data,0,num));
this.filename=strFileOpen;
this.frame.setTitle(this.filename);
this.statubar.setText("Open File:"+this.filename);
this.dirty=false;
}else
{
return ;
}
}catch(Exception e){
this.statubar.setText("Error Open:"+e.getMessage());
}
}else{
this.save();
}
}
boolean save(){//保存
if(this.dirty){
if(this.filename.length()!=0){
try{
File saveFile=new File(this.filename);
FileWriter fw=new FileWriter(saveFile);
fw.write(this.text.getText());
fw.close();
this.dirty=false;
this.statubar.setText("保存文件:"+this.filename);
return true;
}catch(Exception e)
{
this.statubar.setText("保存出错: "+e.getMessage());
return false;
}
}else{
return this.saveas();
}
}else{
return true;
}
}
boolean saveas(){//另存为
if(this.jFileChooser1.APPROVE_OPTION==this.jFileChooser1.showSaveDialog(frame)){
this.filename=this.jFileChooser1.getSelectedFile().g
this.close();
}
/////////////////////////////////////////////////////////
public void text_mouseClicked(MouseEvent e){
if(e.getModifiers()==InputEvent.BUTTON3_MASK){
pop.show((Component)e.getSource(),e.getX(),e.getY());
}
}
public void text_ancestorAdded(AncestorEvent e){
this.dirty=false;
this.newtext();
}
public void text_caretUpdate(CaretEvent e)
{
this.dirty=true;
//this.statubar.setText(this.text.getText());
}
///////////// File /////////////////////////////////////
public void File_open_actionPerformed(ActionEvent e){
//打开的事件
this.opentext();
}
public void File_new_actionPerformed(ActionEvent e){
///新建的事件
this.newtext();
}
public void File_save_actionPerformed(ActionEvent e){
//保存的事件
this.save();
}
public void File_saveas_actionPerformed(ActionEvent e){
//另存为
this.saveas();
}
public void File_quite_actionPerformed(ActionEvent e){
this.close();
}
////////////////// Edit /////////////////////////////////////
public void Edit_undo_actionPerformed(ActionEvent e){
//撤销
this.undo();
}
public void Edit_cut_actionPerformed(ActionEvent e){
//剪切
this.cut();
}
public void Edit_copy_actionPerformed(ActionEvent e){
//复制
this.copy();
}
public void Edit_paste_actionPerformed(ActionEvent e){
//粘贴
this.paste();
}
public void Edit_delete_actionPerformed(ActionEvent e){
//删除
this.delete();
}
public void Edit_find_actionPerformed(ActionEvent e){
//查找
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
FindDlg fd=new FindDlg(frame,"查找",true);
fd.show();
String str=fd.getFindStr().trim();
if(fd.getFlag()){
this.nextFindStr(str,cu,end);
}else{
this.upFindStr(str,cu);
}
}
public void Edit_replace_actionPerformed(ActionEvent e){
//替换
int cu=this.text.getCaretPosition();
int end=this.text.getText().length();
ReplaceDlg rd=new ReplaceDlg(frame,"替换",true);
rd.show();
this.replaceStr(rd.findStr().trim(),rd.replaceStr().trim(),cu,end);
}
public void Edit_selectall_actionPerformed(ActionEvent e){
//全选
this.text.setSelectionStart(0);
this.text.setSelectionEnd(this.text.getText().length());
}
public void Edit_timedate_actionPerformed(ActionEvent e){
//时间日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.text.append("\r\n当前时间:"+sdf.format(new Date()));
}
///////////// Format//////////////////////////////////////
public void Format_Word_actionPerformed(ActionEvent e){
//自动换行
if(!this.text.getLineWrap()){
this.text.setLineWrap(true);
}
else{
this.text.setLineWrap(false);
}
}
public void Format_font_actionPerformed(ActionEvent e){
//字体"常规","斜体","粗体","粗斜体"
Font cur=this.text.getFont();
int type=Font.BOLD;
FontSet fs=new FontSet(frame,"字体设置",true);
fs.show();
if(fs.flag){
switch(fs.font2()){
case 0:type=Font.PLAIN;break;
case 1:type=Font.99vALIC;break;
case 2:type=Font.BOLD; break;
case 3:type=Font.ROMAN_BASELINE;break;
default:type=Font.PLAIN;break;
}
Font f=new Font(fs.font1(),type,16);
this.text.setFont(f);
}else{
this.text.setFont(cur);
}
}
public void Format_color_actionPerformed(ActionEvent e){
// 颜色
Color current=this.text.getForeground();
this.jColor.setColor(current);
this.text.setForeground(
this.jColor.showDialog(text,"选择颜色",current));
}
//////////////////// Help /////////////////////////////////////
public void Help_about_actionPerformed(ActionEvent e){
//关于作者
new AboutDlg();
}
////////////////////////////////////////////////////////
public void pop_undo_actionPerformed(ActionEvent e){
//Pop undo
this.undo();
}
public void pop_cut_actionPerformed(ActionEvent e){
//pop cut
this.cut();
}
public void pop_copy_acionPerformed(ActionEvent e){
//pop copy
this.copy();
}
public void pop_paste_actionPerformed(ActionEvent e){
//pop paste
this.paste();
}
public void pop_delete_actionPerformed(ActionEvent e){
//pop delete
this.delete();
}
/************************************************************
/////////////////////////////////////////////////////////////
////////////// coustm function ///////////////////////////////
/////////////////////////////////////////////////////////////
************************************************************/
void close(){
if(this.dirty){
Dlgtext Dt=new Dlgtext(frame,"提示",true);
Dt.show();
if(Dt.getCheck()){
this.save();
}
else {
frame.dispose();
System.exit(0);
}
}else{
frame.dispose();
System.exit(0);
}
}
void newtext(){//新建
if((!this.dirty)(!this.saveas())){
this.text.setText("");
this.text.setFocusable(true);
this.frame.setTitle("未命名-----Author:Jeason");
this.statubar.setText("新建文本");
}
else this.saveas();
}
void opentext(){//打开
//
String strFileOpen="";
if(!this.dirty){
try{
if(this.jFileChooser1.APPROVE_OPTION==
this.jFileChooser1.showOpenDialog(frame)){
strFileOpen=this.jFileChooser1.getSelectedFile().getPath();
File file=new File(strFileOpen);
int flength=(int)file.length();
int num=0;
FileReader fReader=new FileReader(file);
char[] data=new char[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
this.text.setText(new String(data,0,num));
this.filename=strFileOpen;
this.frame.setTitle(this.filename);
this.statubar.setText("Open File:"+this.filename);
this.dirty=false;
}else
{
return ;
}
}catch(Exception e){
this.statubar.setText("Error Open:"+e.getMessage());
}
}else{
this.save();
}
}
boolean save(){//保存
if(this.dirty){
if(this.filename.length()!=0){
try{
File saveFile=new File(this.filename);
FileWriter fw=new FileWriter(saveFile);
fw.write(this.text.getText());
fw.close();
this.dirty=false;
this.statubar.setText("保存文件:"+this.filename);
return true;
}catch(Exception e)
{
this.statubar.setText("保存出错: "+e.getMessage());
return false;
}
}else{
return this.saveas();
}
}else{
return true;
}
}
boolean saveas(){//另存为
if(this.jFileChooser1.APPROVE_OPTION==this.jFileChooser1.showSaveDialog(frame)){
this.filename=this.jFileChooser1.getSelectedFile().g
更多精彩
赞助商链接