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

简单记事本的实现

源代码

package 记事本;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;

public class TextPad implements ActionListener{
    JFrame frame;
    JMenuBar bar;
    JMenu fileMenu,editMenu;
    JMenuItem newItem,openItem,saveItem,closeItem;
    ImageIcon newIcon,openIcon,saveIcon,closeIcon;
    JTextArea text;
    JScrollPane scroll;
    JFileChooser jfc;
    File file;
    
    public TextPad(){
        frame=new JFrame("LJ");
        bar=new JMenuBar();
        fileMenu=new JMenu("文件");
        editMenu=new JMenu("编辑");
        newItem=new JMenuItem("新建",newIcon);
        openItem=new JMenuItem("打开",openIcon);
        saveItem=new JMenuItem("保存",saveIcon);
        closeItem=new JMenuItem("关闭",closeIcon);
        newIcon=new ImageIcon("f:"+File.separator+"java"+File.separator+"new.gif");
        openIcon=new ImageIcon("f:"+File.separator+"java"+File.separator+"open.gif");
        saveIcon=new ImageIcon("f:"+File.separator+"java"+File.separator+"save.gif");
        closeIcon=new ImageIcon("f:"+File.separator+"java"+File.separator+"close.gif");
        text=new JTextArea();
        scroll=new JScrollPane(text);
        
        newItem.setMnemonic('N');
        openItem.setMnemonic('O');
        saveItem.setMnemonic('S');
        closeItem.setMnemonic('X');
        
        newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('X',java.awt.Event.CTRL_MASK));
        
        
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.add(closeItem);
        
        newItem.setIcon(newIcon);
        openItem.setIcon(openIcon);
        saveItem.setIcon(saveIcon);
        closeItem.setIcon(closeIcon);
        
        bar.add(fileMenu);
        bar.add(editMenu);
        text.setEditable(true);
        
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent arg0) {
                System.exit(1);
            }});
        
        this.newItem.addActionListener(this);
        this.openItem.addActionListener(this);
        this.saveItem.addActionListener(this);
        this.closeItem.addActionListener(this);
        
        frame.add(scroll);
        frame.setJMenuBar(bar);
        frame.setVisible(true);
        frame.setSize(300, 300);
        frame.setLocation(300, 200);
        
    }
    public void actionPerformed(ActionEvent e) {
        Object obj = e.getSource();
        if(obj instanceof JMenuItem) {
        JMenuItem item = (JMenuItem)obj;
        
        if(item==newItem) {
            new TextPad();
        }
        
        else if(item==openItem) {
            jfc=new JFileChooser();
            jfc.showOpenDialog(null);
            file=jfc.getSelectedFile();
            try {
                FileInputStream fis=new FileInputStream(file);
                byte b[]=new byte[fis.available()];
                fis.read(b);
                text.append(new String(b));
                fis.close();
            }catch(FileNotFoundException e1) {
                e1.printStackTrace();
            }catch(IOException e1) {
                e1.printStackTrace();
            }
        }
        
        else if(item==saveItem) {
            jfc=new JFileChooser();
            jfc.showSaveDialog(null);
            file=jfc.getSelectedFile();
            if(!file.exists()) {
                try {
                    file.createNewFile();
                }catch(IOException e2) {
                    e2.printStackTrace();
                }
                try {
                    FileOutputStream fis=new FileOutputStream(file);
                    byte[] b=text.getText().getBytes();
                    try {
                        fis.write(b);
                        fis.close();
                    }catch(IOException e3) {
                        e3.printStackTrace();
                    }
                }
                catch(FileNotFoundException e3) {
                        e3.printStackTrace();
                    
                }
        }
    }    
        
        else if(item==closeItem) {
            System.exit(1);;
        }
      }
   }
}

 

运行截图

 

 

 

  总结:本次题目是上周学习的知识,包含上上周学习的窗体、文本域、滚动条等,上周的新知识有菜单JMenuBar组件、JMenu组件等以用来实现记事本的模板完成。此题让我的一个收获是明白了滚动条加在窗体中时,需要在加入文本域之后加,不然滚动条在文本域中显示不出来。

 

 

学习总结

JDBC:提供一种与平台无关的用于执行SQL语句的标准Java Apl,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成。

JDBC驱动分类:JDBC-ODBC桥驱动:     程序—————>JDBC——————>ODBC———————>数据库      用来进行数据连接操作,但是性能比较低。、

JDBC本地驱动:    程序——————>JDBC——————>数据库       只应用在特定的数据库上,会丧失掉程序的可移植性,但是性能较高。

 

JDBC的主要操作类及接口

 

 

 

 MySQL数据库

一个小型关系型数据库管理系统,开发者为MySQL  AB公司。课本上有他的安装及配置。

常用命令:连接MySQL数据库:

mysql-u用户名 -p密码

 

创建和删除数据库:

创建:CREATE DATABASE  数据库名称
删除:DROP DATABASE    数据库名称

 使用数据库

USE 数据库名称

创建数据库表

CREATE TABLE表名称{
    字段名称1    字段类型【DEFAULT 默认值】【约束】
    字段名称2    字段类型【DEFAULT 默认值】【约束】
 。。。。
    字段名称3    字段类型【DEFAULT 默认值】【约束】
}

 删除数据库表

DROP TABLE 表名称

查看表结构

DESC  表名称

查看数据库信息

查看全部数据库: SHOW DATABASES;

查看一个数据库的全部表:SHOW TABLES;

 

连接数据库

加载驱动程序

 

 连接及关闭数据库

 

 Connection接口,所有数据库的操作都从此接口开始。

 

 连接数据库

 

 总结:本周学习的数据库,第一次接触的东西,听大三学长说数据库对我们以后要学习的东西很重要,作业很大。刚刚开始听的时候真的有点抽象,抽象的东西搬来搬去,也不知道搬什么,后面仔细品读书本后,在脑海中能有点模糊的构想。继续研读课本吧。

posted @ 2019-11-27 21:18  丫世界和平丫  阅读(279)  评论(0编辑  收藏  举报