第十四周课程总结&实验报告(简单记事本的实现)

简单记事本的实现

实验代码

package demo6;

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Notepad implements ActionListener{

    JFrame frame;
    JScrollPane pan;
    JMenu menufile;
    JMenuBar jmenubar;
    JMenuItem newitem, openitem, saveitem, closeitem;
    JTextArea area;
    File file;

    public Notepad(){
            frame=new JFrame("LY");
            menufile=new JMenu("文件");
            jmenubar=new JMenuBar();
            newitem=new JMenuItem("新建(N)");
            openitem=new JMenuItem("打开(O)");
            saveitem=new JMenuItem("另保存(S)");
            closeitem=new JMenuItem("退出(X)");
            pan=new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

            newitem.setMnemonic(KeyEvent.VK_N);
            openitem.setMnemonic(KeyEvent.VK_O);
            saveitem.setMnemonic(KeyEvent.VK_S);
            closeitem.setMnemonic(KeyEvent.VK_X);

            newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.ALT_DOWN_MASK));
            openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.ALT_DOWN_MASK));
            saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.ALT_DOWN_MASK));
            closeitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.ALT_DOWN_MASK));

            newitem.addActionListener(this);
            openitem.addActionListener(this);
            saveitem.addActionListener(this);
            closeitem.addActionListener(this);

            jmenubar.add(menufile);
            menufile.add(newitem);
            menufile.add(openitem);
            menufile.add(saveitem);
            menufile.add(closeitem);
            frame.add(pan);
            frame.setJMenuBar(jmenubar);
            frame.setVisible(true);
            frame.setSize(400,300);

        }

    public void actionPerformed(ActionEvent event) {
        Object ob = event.getSource();
        if (ob instanceof JMenuItem) {
            JMenuItem item = (JMenuItem) ob;
            if (item == newitem) {
                new Notepad();
            } else if (item == openitem) {
                JFileChooser ch = new JFileChooser();
                ch.showOpenDialog(null);
                file = ch.getSelectedFile();
                try {
                    FileInputStream fis = new FileInputStream(file);
                    byte[] b = new byte[fis.available()];
                    fis.read(b);
                    area.append(new String(b));
                    fis.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else if (item == saveitem) {
                JFileChooser ch = new JFileChooser();
                ch.showSaveDialog(null);
                file = ch.getSelectedFile();
                if (!file.exists()) {
                    try {
                        file.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                }
            } else if (item == closeitem) {
                System.exit(0);
            }
        }
    }

}

实验截图

总结:本次实验是对前几周所学知识的一次综合实验,讲组件、窗口等充分利用整合起来;让我对之前一些不怎么理解的东西加深了印象/

JDBC总结:

讲了MySQL数据库的安装配置以及使用;如:增加数据(INSERT INTO 表名字[字段]VALUES),删除数据(DELETE FROM 表名称 [删除条件]),更新数据(UPDATE 表名称  SET 字段     [WHERE 更新条件]),

查询数据

对JDBC还是不怎么了解,要多加了解

原文地址:https://www.cnblogs.com/liuz98/p/11958006.html

时间: 2024-07-31 20:10:30

第十四周课程总结&实验报告(简单记事本的实现)的相关文章

第十四周课程总结&实验报告

第十四周课程总结&实验报告(简单记事本的实现) 实验代码: package 记事本; import java.awt.BorderLayout; import java.awt.Color; import java.awt.ComponentOrientation; import java.awt.Container; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.Font; import java.awt

第十四周课程总结&实验报告

记事本代码: Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JDBC也是Sun Microsystems的商标.我们通常说的JDBC是面向关系型数据库的. 在实际开发中可以直接使用JDBC进行各个数据库的连接与操作,而且可以方便地向数据库中发送各种SQL命令.在JDBC中提供的是一套标准的接口,这样各个支持JAVA的数据库中生产商只要按照此接口提供

第四周课程总结&实验报告(二)

实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性: 理解static修饰付对类.类成员变量及类方法的影响. 实验内容 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初

第四周课程总结&实验报告二

写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…()的形式完成属性的访问及修改 (3) 提供计算面积的getArea()方法和计算周长的getLength()方法 public class Rectangle { private double height; private

第四周课程总结&实验报告

一.实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性: (3) 理解static修饰付对类.类成员变量及类方法的影响. 二.实验内容 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的. 要求该类具有: (1) 使用构造函数完成各属性

2109春第一次课程设计实验报告

2019春第一次课程设计实验报告 一.实验项目名称: 飞机游戏的编写 二.实验项目功能描述: 这个实验主要是实现游戏的正常运行,实现控制飞机的移动功能,增加其实用度, 同时还实现发射子弹和出现敌机的操作,通过发射子弹,击败静止的或者移动的 敌机,最终实现通关或者死亡: 三.项目模块结构介绍: 第一步:代码重构,实现控制飞机移动的功能. 第二步:新式子弹,初始化子弹在飞机的正上方,子弹发射后自动向上移动: 第三步:静止的敌机,增加静止的敌机: 第四步:敌机移动,让敌机自动向下移动: 第五步:击中敌

2019 春第四次课程设计实验报告

2019 春第四次课程设计实验报告 一.实验项目 飞机大战 二.实验功能描述: 用鼠标控制飞机来发射子弹消灭移动的敌机,还有消灭得分 三.项目模板结构介绍: 1.用鼠标控制飞机移动 2.发射子弹 3.增加敌机 4.判断胜败 5.增加音效 四.实现界面展示: 五.代码托管链接: https://gitee.com/lyx1314/green 六.实验总结: 感想: 第四周我感觉要下载EX和VS有点麻烦,开始我是用codeblocks的运行不了EX,所以就没有运行,这周让我又多了解了一些函数的用法

2019春第二次课程实际实验报告

2019春第二次课程实际实验报告 一:实验项目名称 贪吃蛇游戏工作室 二:实验项目功能描述 编写代码,能够使游戏正常运行,达到基础的编写游戏的功能,在这个游戏中,就是通过贪吃蛇不停的吃,使之能够不停的长大,级为游戏的运行,如果撞到边界 ,则为游戏失败 三:项目模块结构介绍: if(kbhit()) // 判断是否有输入 { input = getch(); // 根据用户的不同输入来移动,不必输入回车 if (input == 'a') { moveDirection = 3; // 位置左移

第二次课程设计实验报告

2019春第二次课程设计实验报告 一.实验项目名称 贪吃蛇小游戏 二.实验项目功能描述 玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁或者自己游戏结束. 三.项目模块结构介绍 程序关键在于表示蛇的图形及蛇的移动.用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示.移动时必须从蛇头开始,所以蛇不能向相反的大反向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇方向相反的方向键,此游戏就会暂停,再按向前的方向键才能继续游戏,但按下有效方向键后,蛇头