Java实验报告

班级 计科二班 学号 20188442 姓名 吴怡君

完成时间 2019.11.22

评分等级

简易记事本

实验代码

package Domon10;

import java.awt.event.*;

import java.io.File;

import java.io.OutputStream;

import java.io.PrintStream;

import javax.swing.*;

import java.io.*;

import java.util.Scanner;

class Notepad implements ActionListener {

JFrame frame = new JFrame("welcome to MLDN") ; //定义窗体

JTextArea text = new JTextArea(); //定义文本域

JMenu menuFile = new JMenu("文件");//定义JMenu组件

JMenuItem newItem;

JMenuItem openItem ;

JMenuItem saveItem ;

JMenuItem closeItem;

JMenuItem exitItem;

public Notepad(){

text.setEditable(true); //定义文本组件可以编辑

frame.getContentPane().add(new JScrollPane(text));//在面板中加入文本框以及滚动条

menuFile.setIcon(new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"file.jpg"));//定义显示图标

JMenuBar menuBar = new JMenuBar(); //定义JMenuBar

newItem = new JMenuItem("新建",new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"new.jpg"));

openItem = new JMenuItem("打开",new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"open.jpg"));

saveItem = new JMenuItem("保存",new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"save.jpg"));

closeItem = new JMenuItem("关闭",new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"close.jpg"));

exitItem = new JMenuItem("退出",new ImageIcon("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+

"Pictures"+File.separator+"exit.jpg"));

newItem.setMnemonic('N');//设置快捷键

openItem.setMnemonic('O');

closeItem.setMnemonic('C');

exitItem.setMnemonic('E');

saveItem.setMnemonic('S');

newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));//Ctrl+N

openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));

closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));

exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));

saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));

menuFile.add(newItem); //加入菜单项

menuFile.add(openItem);

menuFile.add(saveItem);

menuFile.add(closeItem);

menuFile.addSeparator(); //加入分隔线

menuFile.add(exitItem);

menuBar.add(menuFile);

frame.addWindowListener(new WindowAdapter(){ //加入监听事件

public void windowClosing(WindowEvent arg0){ //复写窗口关闭方法

System.exit(1);

}

});

openItem.addActionListener(this);

saveItem.addActionListener(this);

frame.setJMenuBar(menuBar);

frame.setSize(400, 300);

frame.setVisible(true);

frame.setLocation(300,200);

}

@Override

public void actionPerformed(ActionEvent e) { //按钮事件监听

File file = null; //接受打开文件

int result = 0; //接受操作结果

if(e.getSource()==openItem){ //判断是否是open按钮

JFileChooser fileChooser = new JFileChooser();//实例化文件选择框

text.setText(""); //清空文中的原有内容

fileChooser.setApproveButtonText("确定"); //定义确定按钮信息

fileChooser.setDialogTitle("打开文件");//设置文件选择框标题

result = fileChooser.showOpenDialog(frame);//显示打开对话框

if(result==JFileChooser.APPROVE_OPTION){ //表示选择了确定按钮

file = fileChooser.getSelectedFile();//得到选择的File对象

setText("打开的文件名称为:"+file.getName());

}else if(result == JFileChooser.CANCEL_OPTION){

setText("没有选择任何 文件");

}else{//result == JFileChooser.ERROR_OPTION

setText("操作出现错误");

}

if(file!=null){

try{

Scanner scan = new Scanner(

new FileInputStream(file));

scan.useDelimiter("\n");

while(scan.hasNext()){

text.append(scan.next()); //读取内容到文本区

text.append("\n");

}

scan.close();

}catch(Exception ex){

setText("文件读取出错");

}

}

}

if(e.getSource()==saveItem){ //判断是否是open按钮

JFileChooser fileChooser = new JFileChooser();//实例化文件选择框

text.setText(""); //清空文中的原有内容

fileChooser.setApproveButtonText("确定"); //定义确定按钮信息

fileChooser.setDialogTitle("打开文件");//设置文件选择框标题

result = fileChooser.showOpenDialog(frame);//显示打开对话框

if(result==JFileChooser.APPROVE_OPTION){ //表示选择了确定按钮

file = fileChooser.getSelectedFile();//得到选择的File对象

setText("选择的存储的文件名称为:"+file.getName());

}else if(result == JFileChooser.CANCEL_OPTION){

setText("没有选择任何 文件");

}else{//result == JFileChooser.ERROR_OPTION

setText("操作出现错误");

}

if(file!=null){

try{

PrintStream out = new PrintStream(

new FileOutputStream(file));

out.print(text.getText());

out.close();

}catch(Exception ex){

setText("文件读取出错");

}

}

}

}

private void setText(String string) {

}

}

package Domon10;

public class test {

public static void main(String[] args) {

new Notepad();

}

}

实验结果截图

小题总结

对于这周的作业,本来是要做一个记事本的,但是如果想把Windons下的记事本的一些功能全部实现,没有个一周是很难完成的,我的两个室友就是写了一周多了,现在还在继续修改,是真的很棒,他们对自己要求很高,一直在精化,他们每个人的代码差不多有800多行了,有点强,我的话就做简单点吧,其实要完成还需要花很多时间,所以我只在文件里面实现了两个简单的功能,那就是打开和保存这两个事件处理,当然如果要实现其他的三个,一葫芦画瓢都差不多,其它的菜单有机会就去实现,因为现在要搞程序设计了。总体来说还是有点挑战性的。

课程总结

这周学习了菜单组件,然后里面有很多类和一些方法,这些类可以帮助我们完成图形界面以及一些按钮键的处理,学习了这些东西感觉还是良好的,但是不够熟练,必须多练习多查资料才会学得更深。在目前来说,学习的东西越来越多,所以需要不断去接触一些新的东西来扩充自己,继续努力。

java实验11_2019JAVA第十一次实验报告相关推荐

  1. 东文财、赵栋《面向对象程序设计(java)》第十一周学习总结

    201771010106 东文财<面向对象程序设计(java)>第十一周 实验时间 2018-11-8 一:理论部分. 1.数据结构: a.线性数据结构,如线性表.栈.队列.串.数组和文件 ...

  2. java程序设计输入输出实验_20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  3. JAVA数据库访问设置的实验_实验十一 连接数据库实验(V2.0)

    实验十一  连接数据库实验(V2.0) 一.实验目的 1.  连接MS SQL Server2005数据库 2.  读取数据库到Web页面 二.实验内容 1.实验准备: java连接数据库的方法模型. ...

  4. java类与对象实验_JAVA类与对象实验报告

    <JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...

  5. 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告

    2018-2019-2 20175305实验一<Java开发环境的熟悉>实验报告 实验题目 实验一Java开发环境的熟悉-1 1).实验目的及要求 1.建立"自己学号exp1&q ...

  6. 20145240 《Java程序设计》第四次实验报告

    20145240 <Java程序设计>第四次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.26 实验 ...

  7. 20155229 实验一《Java开发环境的熟悉》实验报告

    20155229 实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Idea 编辑.编译.运行.调试Java程序. 实验步骤 (一) ...

  8. java开发环境实验总结_20155212 实验一《Java开发环境的熟悉》实验报告

    20155212 实验一<Java开发环境的熟悉>实验报告 命令行下Java程序开发 命令创建实验目录 输入mkdir 2051212创建以自己学号命名的文件夹,通过cd 20155212 ...

  9. 2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175311实验一<Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一):使用简单的JDK编译.运行java程序 题目一比较简单也比较基础,主要就是考查我们 ...

最新文章

  1. 女友让我破解植物大战僵尸!我干脆撸了一款一样的....翻身舔狗把歌唱呀
  2. python0b1010_笔记-python-字符串格式化-format()
  3. Facebook和Google,做不了恋人做仇人
  4. linux上使用FTP下载文件
  5. 查询数据库占用空间大小
  6. mysql中Table is read only 的解决方法小结
  7. javascript的时间段选择
  8. android学习---LinearLayout
  9. 吸气剂/设定者。 邪恶。 期。
  10. python数组删除最后一个元素_删除numpy数组中的最后一个元素
  11. keras 官方文档
  12. mfc函数调用堆栈溢出_01 JavaScript 调用堆栈
  13. Elastic Search 学习笔记
  14. golang中的检验hash
  15. 数据库连接软件SQLyog 13.1.7 免费下载安装
  16. linux版本的caj,同方知网文献阅读器CAJViewer for Linux版本安装说明
  17. 2022年java学习路线指南
  18. 在deepin 上安装佳能MF 4700打印机驱动
  19. 格林尼治时间转换为本地时间
  20. 案例分析:股票涨跌预测

热门文章

  1. 那些有趣/有用的 Python 库
  2. 【CTO讲堂】互动,让直播更有价值
  3. 2021凌云百度指数批量查询软件【高速】
  4. C# 爬取 在线时间 设置 Windows系统时间
  5. 云计算机房环境规范要求,网络安全之物理与环境安全
  6. 淘宝客订单API获取订单代码
  7. openlayers铁路公路桥梁隧道及导航样式参考
  8. android4.2通用刷机包6,txp6android通用刷机包
  9. 苹果手机应用分身_丢手机丢人都有新保障:苹果将推出改进后的找回手机应用...
  10. vue项目启动命令个人笔记