java记事本怎么写呀??
发布网友
发布时间:2022-04-30 23:22
我来回答
共3个回答
热心网友
时间:2022-06-20 08:20
下面是一个简单的记事本程序:
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(300,200));//用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;
MyMenuFrame( )//构造方法
{
super("记事本");//指定窗口标题
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);
}
}
}
热心网友
时间:2022-06-20 08:21
你什么意思?
把记事本改成Java格式的?
热心网友
时间:2022-06-20 08:21
怎么写入记事本?追问不是的 我表达失误。。是用JAVA语言怎么编写 记事本,实现其 ‘保存文件’ 和‘打开文件’的功能