java制作记事本.docx

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

java制作记事本.docx

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

java制作记事本.docx

java制作记事本

记事本制作过程

24090123杨婉清

1.新建一个文本文档,更改文本文档的后缀名为 .java,进行编辑。

2.在JBuilder9中,输入相应代码

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.InputEvent;

importjava.awt.event.KeyAdapter;

importjava.awt.event.KeyEvent;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.File;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjavax.swing.BorderFactory;

importjavax.swing.JFileChooser;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JOptionPane;

importjavax.swing.JPopupMenu;

importjavax.swing.JScrollPane;

importjavax.swing.JTextArea;

importjavax.swing.KeyStroke;

importjavax.swing.ScrollPaneConstants;

importjavax.swing.SwingConstants;

publicclassJNotePadUIextendsJFrame{

privateJMenuItemmenuOpen;

privateJMenuItemmenuSave;

privateJMenuItemmenuSaveAs;

privateJMenuItemmenuClose;

privateJMenueditMenu;

privateJMenuItemmenuCut;

privateJMenuItemmenuCopy;

privateJMenuItemmenuPaste;

privateJMenuItemmenuAbout;

privateJTextAreatextArea;

privateJLabelstateBar;

privateJFileChooserfileChooser;

privateJPopupMenupopUpMenu;

publicJNotePadUI(){

super("新建文本文件");

setUpUIComponent();

setUpEventListener();

setVisible(true);

}

privatevoidsetUpUIComponent(){

setSize(640,480);

//菜单栏

JMenuBarmenuBar=newJMenuBar();

//设置「文件」菜单

JMenufileMenu=newJMenu("文件");

menuOpen=newJMenuItem("打开");

//快捷键设置

menuOpen.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_O,

InputEvent.CTRL_MASK));

menuSave=newJMenuItem("保存");

menuSave.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_S,

InputEvent.CTRL_MASK));

menuSaveAs=newJMenuItem("另存为");

menuClose=newJMenuItem("关闭");

menuClose.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_Q,

InputEvent.CTRL_MASK));

fileMenu.add(menuOpen);

fileMenu.addSeparator();//分隔线

fileMenu.add(menuSave);

fileMenu.add(menuSaveAs);

fileMenu.addSeparator();//分隔线

fileMenu.add(menuClose);

//设置「编辑」菜单

JMenueditMenu=newJMenu("编辑");

menuCut=newJMenuItem("剪切");

menuCut.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_X,

InputEvent.CTRL_MASK));

menuCopy=newJMenuItem("复制");

menuCopy.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

menuPaste=newJMenuItem("粘贴");

menuPaste.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_V,

InputEvent.CTRL_MASK));

editMenu.add(menuCut);

editMenu.add(menuCopy);

editMenu.add(menuPaste);

//设置「关于」菜单

JMenuaboutMenu=newJMenu("关于");

menuAbout=newJMenuItem("关于JNotePad");

aboutMenu.add(menuAbout);

menuBar.add(fileMenu);

menuBar.add(editMenu);

menuBar.add(aboutMenu);

setJMenuBar(menuBar);

//文字编辑区域

textArea=newJTextArea();

textArea.setFont(newFont("宋体",Font.PLAIN,16));

textArea.setLineWrap(true);

JScrollPanepanel=newJScrollPane(textArea,

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

ContainercontentPane=getContentPane();

contentPane.add(panel,BorderLayout.CENTER);

//状态栏

stateBar=newJLabel("未修改");

stateBar.setHorizontalAlignment(SwingConstants.LEFT);

stateBar.setBorder(

BorderFactory.createEtchedBorder());

contentPane.add(stateBar,BorderLayout.SOUTH);

popUpMenu=editMenu.getPopupMenu();

fileChooser=newJFileChooser();

}

privatevoidsetUpEventListener(){

//按下窗口关闭钮事件处理

addWindowListener(

newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

closeFile();

}

}

);

//菜单-打开

menuOpen.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

openFile();

}

}

);

//菜单-保存

menuSave.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

saveFile();

}

}

);

//菜单-另存为

menuSaveAs.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

saveFileAs();

}

}

);

 

//菜单-关闭文件

menuClose.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

closeFile();

}

}

);

//菜单-剪切

menuCut.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

cut();

}

}

);

//菜单-复制

menuCopy.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

copy();

}

}

);

//菜单-粘贴

menuPaste.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

paste();

}

}

);

//菜单-关于

menuAbout.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEvente){

//显示对话框

JOptionPane.showOptionDialog(null,

"程序名称:

\nJNotePad\n"+

"程序设计:

\n\n"+

"简介:

\n一个简单的文字编辑器\n"+

"可作为验收Java的实现对象\n"+

"欢迎网友下载研究交流\n\n"+

"/",

"关于JNotePad",

JOptionPane.DEFAULT_OPTION,

JOptionPane.INFORMATION_MESSAGE,

null,null,null);

}

}

);

//编辑区键盘事件

textArea.addKeyListener(

newKeyAdapter(){

publicvoidkeyTyped(KeyEvente){

processTextArea();

}

}

);

//编辑区鼠标事件

textArea.addMouseListener(

newMouseAdapter(){

publicvoidmouseReleased(MouseEvente){

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

popUpMenu.show(editMenu,e.getX(),e.getY());

}

publicvoidmouseClicked(MouseEvente){

if(e.getButton()==MouseEvent.BUTTON1)

popUpMenu.setVisible(false);

}

}

);

}

privatevoidopenFile(){

if(isCurrentFileSaved()){//文件是否为保存状态

open();//打开

}

else{

//显示对话框

intoption=JOptionPane.showConfirmDialog(

null,"文件已修改,是否保存?

",

"保存文件?

",JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE,null);

switch(option){

//确认文件保存

caseJOptionPane.YES_OPTION:

saveFile();//保存文件

break;

//放弃文件保存

caseJOptionPane.NO_OPTION:

open();

break;

}

}

}

privatebooleanisCurrentFileSaved(){

if(stateBar.getText().equals("未修改")){

returnfalse;

}

else{

returntrue;

}

}

privatevoidopen(){

//fileChooser是JFileChooser的实例

//显示文件选取的对话框

intoption=fileChooser.showDialog(null,null);

//使用者按下确认键

if(option==JFileChooser.APPROVE_OPTION){

try{

//开启选取的文件

BufferedReaderbuf=

newBufferedReader(

newFileReader(

fileChooser.getSelectedFile()));

//设定文件标题

setTitle(fileChooser.getSelectedFile().toString());

//清除前一次文件

textArea.setText("");

//设定状态栏

stateBar.setText("未修改");

//取得系统相依的换行字符

StringlineSeparator=System.getProperty("line.separator");

//读取文件并附加至文字编辑区

Stringtext;

while((text=buf.readLine())!

=null){

textArea.append(text);

textArea.append(lineSeparator);

}

buf.close();

}

catch(IOExceptione){

JOptionPane.showMessageDialog(null,e.toString(),

"开启文件失败",JOptionPane.ERROR_MESSAGE);

}

}

}

privatevoidsaveFile(){

//从标题栏取得文件名称

Filefile=newFile(getTitle());

//若指定的文件不存在

if(!

file.exists()){

//执行另存为

saveFileAs();

}

else{

try{

//开启指定的文件

BufferedWriterbuf=

newBufferedWriter(

newFileWriter(file));

//将文字编辑区的文字写入文件

buf.write(textArea.getText());

buf.close();

//设定状态栏为未修改

stateBar.setText("未修改");

}

catch(IOExceptione){

JOptionPane.showMessageDialog(null,e.toString(),

"写入文件失败",JOptionPane.ERROR_MESSAGE);

}

}

}

privatevoidsaveFileAs(){

//显示文件对话框

intoption=fileChooser.showSaveDialog(null);

//如果确认选取文件

if(option==JFileChooser.APPROVE_OPTION){

//取得选择的文件

Filefile=fileChooser.getSelectedFile();

//在标题栏上设定文件名称

setTitle(file.toString());

try{

//建立文件

file.createNewFile();

//进行文件保存

saveFile();

}

catch(IOExceptione){

JOptionPane.showMessageDialog(null,e.toString(),

"无法建立新文件",JOptionPane.ERROR_MESSAGE);

}

}

}

privatevoidcloseFile(){

//是否已保存文件

if(isCurrentFileSaved()){

//释放窗口资源,而后关闭程序

dispose();

}

else{

intoption=JOptionPane.showConfirmDialog(

null,"文件已修改,是否保存?

",

"保存文件?

",JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE,null);

switch(option){

caseJOptionPane.YES_OPTION:

saveFile();

break;

caseJOptionPane.NO_OPTION:

dispose();

}

}

}

privatevoidcut(){

textArea.cut();

stateBar.setText("已修改");

popUpMenu.setVisible(false);

}

privatevoidcopy(){

textArea.copy();

popUpMenu.setVisible(false);

}

privatevoidpaste(){

textArea.paste();

stateBar.setText("已修改");

popUpMenu.setVisible(false);

}

privatevoidprocessTextArea(){

stateBar.setText("已修改");

}

 

publicstaticvoidmain(String[]args){

newJNotePadUI();

}

}

3.安装调试jdk。

4.测试运行程序。

打开运行命令,键入cmd,调出命令提示符。

键入文件所属盘,然后输入javacJNotePadUI.java,生成class文件,继续输入javaJNotePadUI,即可运行程序。

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

当前位置:首页 > 高中教育 > 英语

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

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