急求编写java记事本小程序的源代码

各位帮帮啊... 各位帮帮啊 展开
 我来答
匿名用户
2013-08-04
展开全部
import java.awt.*;
import java.awt.event.*;
import java.lang.String.*;
import java.awt.datatransfer.*;//数据传送
import java.util.*;
public class Notepad
{public static void main(String args[])
{MyMenuFrame mf=new MyMenuFrame();//定义主类
mf.setSize(new Dimension(700,700));//用setSize()方法指定窗口的初始大小
mf.setVisible(true);
}
} class MyMenuFrame extends Frame implements ActionListener//定义窗口
{
Clipboard clipboard;//定义剪切板对象
FileDialog filedialog_save,filedialog_load;//定义文件对话框
MenuBar m_MenuBar;//定义菜单条
Menu menuFile,menuEdit,menuStyle,menuSearch,menuHelp;//定义菜单项
MenuItem mi_File_New,mi_File_Open,mi_File_Save,mi_file_Savaas,mi_File_Close,mi_File_Exit,
mi_Edit_Ce,mi_Edit_Copy,mi_Edit_Cut,mi_Edit_Paste,
mi_Edit_Style,mi_Style_Font,mi_Style_Auto,
mi_Search_sphere,
mi_Help_Helptopic,mi_Help_About;
TextArea text;
{
text=new TextArea(20,20);
add(text);
clipboard = null;
clipboard = getToolkit().getSystemClipboard();//获取系统剪切板 filedialog_save=new FileDialog(this,"保存文件对话框",FileDialog.SAVE);
filedialog_save.setVisible(false);
filedialog_load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
filedialog_load.setVisible(false);
m_MenuBar=new MenuBar( );
menuFile=new Menu("文件");//创建菜单项,创建菜单子项并初始化
MenuItem mi_File_New=new MenuItem("新建");
MenuItem mi_File_Open=new MenuItem("打开");
MenuItem mi_File_Save=new MenuItem("保存");
MenuItem mi_File_Saveas=new MenuItem("另存为");
MenuItem mi_File_Close=new MenuItem("关闭");
MenuItem mi_File_Exit=new MenuItem(" 退出");
mi_File_Exit.setShortcut(new MenuShortcut('x'));//设置快捷键
mi_File_Open.setActionCommand("打开");//简化
mi_File_New.setActionCommand("新建"); mi_File_Exit.setActionCommand("退出"); mi_File_New.addActionListener(this);//使菜单子项响应动作事件
mi_File_Open.addActionListener(this);
mi_File_Save.addActionListener(this);
mi_File_Saveas.addActionListener(this);
mi_File_Close.addActionListener(this);
mi_File_Exit.addActionListener(this);
menuFile.add(mi_File_New);//把菜单子项加入菜单项
menuFile.add(mi_File_Open);
menuFile.add(mi_File_Save);
menuFile.add(mi_File_Saveas);
menuFile.add(mi_File_Close);
menuFile.addSeparator();//加一条横向分割线
menuFile.add(mi_File_Exit);
m_MenuBar.add(menuFile);//把菜单项加入菜单条
menuEdit=new Menu("编辑");
mi_Edit_Ce=new MenuItem("撤消");
mi_Edit_Copy=new MenuItem("复制");
mi_Edit_Cut=new MenuItem("剪切");
mi_Edit_Paste=new MenuItem("粘贴");
mi_Edit_Copy.setActionCommand("复制");
mi_Edit_Cut.setActionCommand("剪切");
mi_Edit_Paste.setActionCommand("粘贴"); mi_Edit_Ce.addActionListener(this);
mi_Edit_Copy.addActionListener(this);
mi_Edit_Cut.addActionListener(this);
mi_Edit_Paste.addActionListener(this);
menuEdit.add(mi_Edit_Ce);
menuEdit.add(mi_Edit_Copy);
menuEdit.add(mi_Edit_Cut);
menuEdit.add(mi_Edit_Paste);
m_MenuBar.add(menuEdit); menuStyle=new Menu("格式");
mi_Style_Auto=new MenuItem("自动换行");
mi_Style_Font=new MenuItem("字体");
mi_Style_Auto.addActionListener(this);
mi_Style_Font.addActionListener(this);
menuStyle.add(mi_Style_Auto);
menuStyle.add(mi_Style_Font);
m_MenuBar.add(menuStyle);
menuSearch=new Menu("查看");
mi_Search_sphere=new MenuItem("状态栏");
mi_Search_sphere.addActionListener(this);
menuSearch.add(mi_Search_sphere);
m_MenuBar.add(menuSearch);
menuHelp=new Menu("帮助");
mi_Help_Helptopic=new MenuItem("帮助主题");
mi_Help_About=new MenuItem("关于记事本");
mi_Help_Helptopic.addActionListener(this);
mi_Help_About.addActionListener(this);
menuHelp.add(mi_Help_Helptopic);
menuHelp.add(mi_Help_About);
m_MenuBar.add(menuHelp);
setMenuBar(m_MenuBar);//把菜单条加入到菜单
addWindowListener(new WindowAdapter()//监听窗口(关闭窗口)
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
setVisible(true);
validate(); //如果加载了其他东西,就可用它来显示组件 }
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="新建")
{
text.setText(null);//清空
}
if(e.getActionCommand()=="打开")
{
filedialog_load.setVisible(true);//使文件对话框可见
}
if(e.getActionCommand()=="保存")
{
filedialog_save.setVisible(true);//使文件对话框可见
}
if(e.getActionCommand() == "复制")
{
String s = text.getSelectedText();//复制到剪切板
StringSelection text1= new StringSelection(s);//拖动鼠标选取文本
clipboard.setContents(text1, null);
}
if(e.getActionCommand() == "剪切")
{
String s1 = text.getSelectedText();//剪切到剪切板
StringSelection text1 = new StringSelection(s1);//拖动鼠标选取文本
clipboard.setContents(text1, null);
int j = text.getSelectionStart();
int k = text.getSelectionEnd();
text.replaceRange("", j, k);//从Text中删除被选取文本
}
if(e.getActionCommand() =="粘贴")//从剪切板粘贴数据
{
Transferable transferable = clipboard.getContents(this);
DataFlavor dataflavor = DataFlavor.stringFlavor;
if(transferable.isDataFlavorSupported(dataflavor))
{
try//处理异常事件的发生(类型不符合)
{
String s3 = (String)transferable.getTransferData(dataflavor);
text.insert(s3, text.getCaretPosition());
}
catch(Exception e1) { }
}
}
if(e.getActionCommand()=="退出")
{
dispose();
System.exit(0);
} }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式