记事本源码.docx

上传人:b****6 文档编号:7707356 上传时间:2023-01-25 格式:DOCX 页数:17 大小:19.76KB
下载 相关 举报
记事本源码.docx_第1页
第1页 / 共17页
记事本源码.docx_第2页
第2页 / 共17页
记事本源码.docx_第3页
第3页 / 共17页
记事本源码.docx_第4页
第4页 / 共17页
记事本源码.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

记事本源码.docx

《记事本源码.docx》由会员分享,可在线阅读,更多相关《记事本源码.docx(17页珍藏版)》请在冰豆网上搜索。

记事本源码.docx

记事本源码

//Note.java

/*

*主界面布局

*/

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.MenuItem;

importjava.awt.PopupMenu;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjavax.swing.*;

importjavax.swing.undo.UndoManager;

publicclassNote{

privateJMenujmenu;

privateJMenuBarmb;

privateJMenuItemjmi;

privatestaticJTextAreata;

privatestaticJFramejf;

privatestaticUndoManagerum;

privatestaticJLabeljl1;

privatestaticJLabeljl2;

privatestaticJToolBarjb;

privateString[]menu_name=newString[]//菜单

{"文件","编辑","设置","关于"};

privateString[][]menu_item=newString[][]{//子菜单

{"打开","保存","退出"},

{"撤销","恢复","复制","粘贴","剪切","删除"},

{"自动换行","字体颜色","恢复默认"},

{"关于记事本"}

};

privateStringjpm_name[]={//右键菜单

"撤销",

"恢复",

"复制",

"粘贴",

"剪切",

"删除"

};

publicNote()

{

jf=newJFrame("无标题-记事本");

jf.setSize(850,550);

jf.setLocation(100,100);

mb=newJMenuBar();

mb.setBackground(newColor(236,233,216));

jf.setJMenuBar(mb);

addMenu();//添加菜单

addTextArea();//添加文本输入区

addStatusBar();//添加状态栏

addPopupMenu();//添加右键菜单

jf.setVisible(true);

jf.addWindowListener(newWindowAdapter(){//监听关闭窗口动作

publicvoidwindowClosing(WindowEvente){

Handlerh=newHandler();

h.windowExit();

//super.windowClosing(e);

}

});

}

privatevoidaddPopupMenu(){//右键菜单

finalPopupMenujpm=newPopupMenu();

jpm.setFont(newFont("宋体",0,12));

for(inti=0;i

MenuItemjpim=newMenuItem(jpm_name[i]);

jpm.add(jpim);

jpim.addActionListener(newPopupAction());//创建右键监听

}

jf.add(jpm);

ta.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEvente){

if(e.getButton()==MouseEvent.BUTTON3){

jpm.show(ta,e.getX(),e.getY());//设置显示区域

}

}

});

}

privatevoidaddTextArea(){

ta=newJTextArea();

ta.addMouseListener(newMouseHandler());

ta.addKeyListener(newMouseHandler());

um=newUndoManager();

ta.getDocument().addUndoableEditListener(um);

JScrollPanescroll=newJScrollPane(ta);

scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//自动出现水平动条

scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);//自动出现竖滚动条

jf.getContentPane().add(scroll,BorderLayout.CENTER);

}

privatevoidaddMenu(){

for(inti=0;i

{

jmenu=newJMenu(menu_name[i]);

jmenu.setFont(newFont("宋体",0,12));

for(intj=0;j

{

jmi=newJMenuItem(menu_item[i][j]);

jmi.setFont(newFont("宋体",0,12));

jmi.addActionListener(newHandler());

jmenu.add(jmi);

}

mb.add(jmenu);

}

}

privatevoidaddStatusBar(){

jb=newJToolBar();

jb.setBackground(newColor(236,233,216));

jl1=newJLabel("字符总长:

"+0+"总行数:

"+1+"");

jl1.setFont(newFont("宋体",0,12));

jb.add(jl1);

JSeparators=newJSeparator();//设置分隔符

s.setOrientation(SwingConstants.VERTICAL);

jb.add(s);

jl2=newJLabel("当前行:

"+1+"当前列:

"+0+"");

jl2.setFont(newFont("宋体",0,12));

jb.add(jl2);

jb.setFloatable(false);

jf.getContentPane().add(jb,BorderLayout.SOUTH);

}

publicstaticvoidmain(String[]args){

SetFont();

newNote();

}

publicstaticJToolBargetJb(){

returnjb;

}

publicstaticJFramegetJFrame(){

returnjf;

}

publicstaticJLabelgetLabel1(){

returnjl1;

}

publicstaticJLabelgetLabel2(){

returnjl2;

}

staticUndoManagergetUM()

{

returnum;

}

staticJTextAreagetTextArea(){

returnta;

}

staticvoidSetFont()

{

Fontfont=newFont("宋体",0,12);

UIManager.put("Button.font",font);

UIManager.put("CheckBox.font",font);

UIManager.put("CheckBoxMenuItem.acceleratorFont",font);

UIManager.put("CheckBoxMenuItem.font",font);

UIManager.put("ColorChooser.font",font);

UIManager.put("ComboBox.font",font);

UIManager.put("DesktopIcon.font",font);

UIManager.put("EditorPane.font",font);

UIManager.put("FormattedTextField.font",font);

UIManager.put("InternalFrame.titleFont",font);

UIManager.put("Label.font",font);

UIManager.put("List.font",font);

UIManager.put("Menu.acceleratorFont",font);

UIManager.put("Menu.font",font);

UIManager.put("MenuBar.font",font);

UIManager.put("MenuItem.acceleratorFont",font);

UIManager.put("MenuItem.font",font);

UIManager.put("OptionPane.font",font);

UIManager.put("Panel.font",font);

UIManager.put("PasswordField.font",font);

UIManager.put("PopupMenu.font",font);

UIManager.put("ProgressBar.font",font);

UIManager.put("RadioButton.font",font);

UIManager.put("RadioButtonMenuItem.acceleratorFont",font);

UIManager.put("RadioButtonMenuItem.font",font);

UIManager.put("ScrollPane.font",font);

UIManager.put("Spinner.font",font);

UIManager.put("TabbedPane.font",font);

UIManager.put("Table.font",font);

UIManager.put("TableHeader.font",font);

UIManager.put("TextArea.font",font);

UIManager.put("TextField.font",font);

UIManager.put("TextPane.font",font);

UIManager.put("TitledBorder.font",font);

UIManager.put("ToggleButton.font",font);

UIManager.put("ToolBar.font",font);

UIManager.put("ToolTip.font",font);

UIManager.put("Tree.font",font);

UIManager.put("Viewport.font",font);

}

}

//Handler.java

importjava.io.*;

importjava.awt.Color;

importjava.awt.datatransfer.Clipboard;

importjava.awt.datatransfer.DataFlavor;

importjava.awt.datatransfer.StringSelection;

importjava.awt.datatransfer.Transferable;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.filechooser.*;

publicclassHandlerimplementsActionListener{

Filefile=null;

JFramej=newJFrame();

String[]event_name=newString[]{

"打开","保存","退出",

"撤销","恢复","复制","粘贴","剪切","删除",

"自动换行","字体颜色","恢复默认",

"关于记事本"};

FileNameExtensionFilterfilter=newFileNameExtensionFilter("文本文档(*.txt)","txt");

JFileChooseropenfile=newJFileChooser(".");//创建文件筛选

privateintindex;

intre=0;

Clipboardclipboard=j.getToolkit().getSystemClipboard();//获取系统剪贴板

publicvoidactionPerformed(ActionEventevent){

Strings=event.getActionCommand();

for(inti=0;i

{if(event_name[i].equals(s))

{

index=i;

}

}

switch(index)

{

case0:

OpenFile();//打开

break;

case1:

SaveFile();//保存

break;

case2:

//退出程序

Exit();

break;

case3:

if(Note.getUM().canUndo()){//撤销

Note.getUM().undo();

}

break;

case4:

if(Note.getUM().canRedo()){//恢复

Note.getUM().redo();

}

case5:

Copy();//复制

break;

case6:

Paste();//粘贴

break;

case7:

Cut();//剪切

break;

case8:

Delete();//删除

break;

case9:

Note.getTextArea().setLineWrap(true);

Note.getJb().setEnabled(false);

Note.getJb().setVisible(false);

break;

case10:

SetFontColor();//设置颜色

break;

case11:

Note.getTextArea().setLineWrap(false);

Note.getTextArea().setForeground(Color.black);

Note.getJb().setEnabled(true);

Note.getJb().setVisible(true);

break;

case12:

//关于

JFramejf=newJFrame();

//jf.setSize(360,140);

//jf.setVisible(true);

//Iconic=newImageIcon("about.png");

JOptionPane.showMessageDialog

(jf,"PoweredbyTeam255"+"\n"

+"Version:

1.0"+"\n"+

"开发人员:

陈灏,刘西,谭向斌,唐仕霖","关于记事本",1);

break;

}

}

voidDelete(){//删

JTextAreata=Note.getTextArea();

intstart=ta.getSelectionStart();

intend=ta.getSelectionEnd();

ta.replaceRange("",start,end);

}

voidCut(){//剪

JTextAreata=Note.getTextArea();

Stringtemp=ta.getSelectedText();//拖动鼠标选取文本。

StringSelectiontext=newStringSelection(temp);

clipboard.setContents(text,null);

intstart=ta.getSelectionStart();

intend=ta.getSelectionEnd();

ta.replaceRange("",start,end);//从Text1中删除被选取的文本。

}

publicvoidPaste(){//粘

Transferablecontents=clipboard.getContents(this);

DataFlavorflavor=DataFlavor.stringFlavor;

if(contents.isDataFlavorSupported(flavor))

try{

Stringstr=(String)contents.getTransferData(flavor);

Note.getTextArea().append(str);

}

catch(Exceptionee){}

}

publicvoidCopy(){//复

Stringtemp=Note.getTextArea().getSelectedText();//拖动鼠标选取文本。

StringSelectiontext=newStringSelection(temp);

clipboard.setContents(text,null);

}

publicvoidExit()

{

if(Note.getTextArea().getText().equals(""))//判断是否有内容

{

System.exit(0);}

else

{

ints=JOptionPane.showConfirmDialog(j,"是否保存退出?

","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出

if(s==JOptionPane.YES_OPTION)

{SaveFile();

if(re==0)//保存成功,则退出

{System.exit(0);}

else{re=0;}//取消保存,则将RE置0,返回主界面

}

elseif(s==JOptionPane.NO_OPTION)//点击否,则退出

{System.exit(0);}

//elseif(s==JOptionPane.CANCEL_OPTION)//点关闭

//{}

//elseif(s==JOptionPane.CLOSED_OPTION)

//{}

}

}

publicvoidwindowExit(){//退出

if(Note.getTextArea().getText().equals(""))//判断是否有内容

{

System.exit(0);}

else

{

ints=JOptionPane.showConfirmDialog(j,"是否保存退出?

","记事本",JOptionPane.YES_NO_CANCEL_OPTION);//提示用户是否退出

if(s==JOptionPane.YES_OPTION)

{SaveFile();

if(re==0)//保存成功,则退出

{System.exit(0);}

else{re=0;Newwindow();}//取消保存,则将RE置0,返回主界面

}

elseif(s==JOptionPane.NO_OPTION)//点击否,则退出

{System.exit(0);}

elseif(s==JOptionPane.CANCEL_OPTION)//点关闭

{Newwindow();}

elseif(s==JOptionPane.CLOSED_OPTION)

{Newwindow();}

}

}

privatevoidNewwindow(){

Stringtemp=Note.getTextArea().getText();

newNote();

Note.getTextArea().setText(temp);

}

privat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1