关于记事本代码上周已经写过了,这次把他粘过来了,如下:

记事本

package jishiben;

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.FileOutputStream;
import java.io.IOException; import javax.swing.*;
import javax.swing.undo.UndoManager; public class Jishiben implements ActionListener{ JFrame frame;
JTextArea text;
JScrollPane sp;
JMenuItem newItem,windomItem,openItem,saveItem,othersaveItem,pagesetupItem,printItem,closeItem;
JMenuBar bar;
JMenu fileMenu,editMenu,formatMenu,checkMenu,helpMenu;
JFileChooser choose;
File file;
JTable table;
JMenuItem blankItem;
UndoManager undoManager; public void Wenjian() { frame=new JFrame("记事本");
text=new JTextArea();
sp=new JScrollPane(text);
bar=new JMenuBar(); fileMenu=new JMenu("文件(F)");
editMenu=new JMenu("编辑(E)");
formatMenu=new JMenu("格式(O)");
checkMenu=new JMenu("查看(V)");
helpMenu=new JMenu("帮助(H)"); //关于文件的选项
newItem=new JMenuItem("新建(N)");
windomItem=new JMenuItem("新窗口(W)");
openItem=new JMenuItem("打开(O)");
saveItem=new JMenuItem("保存(S)");
othersaveItem=new JMenuItem("另存为(A)");
pagesetupItem=new JMenuItem("页面设置(U)");
printItem=new JMenuItem("打印(P)");
closeItem=new JMenuItem("退出(X)"); //关于文件助记符的设置
newItem.setMnemonic('N');
windomItem.setMnemonic('W');
openItem.setMnemonic('O');
saveItem.setMnemonic('S');
othersaveItem.setMnemonic('A');
pagesetupItem.setMnemonic('U');
printItem.setMnemonic('P');
closeItem.setMnemonic('X'); //关于文件快捷键的设置
newItem.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_DOWN_MASK));
windomItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK|InputEvent.SHIFT_DOWN_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_DOWN_MASK));
saveItem.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_DOWN_MASK));
othersaveItem.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_DOWN_MASK|KeyEvent.SHIFT_DOWN_MASK));
printItem.setAccelerator(KeyStroke.getKeyStroke('P',KeyEvent.CTRL_DOWN_MASK)); //关于文件菜单的动作监听
newItem.addActionListener(this);
windomItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
othersaveItem.addActionListener(this);
pagesetupItem.addActionListener(this);
printItem.addActionListener(this);
closeItem.addActionListener(this); fileMenu.add(newItem);
fileMenu.add(windomItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(othersaveItem);
fileMenu.add(pagesetupItem);
fileMenu.add(closeItem); //向菜单栏添加
bar.add(fileMenu);
bar.add(editMenu);
bar.add(formatMenu);
bar.add(checkMenu);
bar.add(helpMenu); frame.add(sp);
frame.setJMenuBar(bar);
frame.setSize(400,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) {
Jishiben shi=new Jishiben();
shi.Wenjian(); }
public void actionPerformed(ActionEvent e){
//关于文件下面选项的监听
if(e.getSource()==newItem) {
text.setText("");
}else if(e.getSource()==windomItem) {
Jishiben ben =new Jishiben();
ben.Wenjian();
}else if(e.getSource()==openItem) {
choose=new JFileChooser();
choose.showOpenDialog(null);
file=choose.getSelectedFile();
try {
FileInputStream input=new FileInputStream(file);
byte[] b=new byte[input.available()];
input.read(b);
text.append(new String(b));
input.close(); } catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}else if(e.getSource()==othersaveItem) {
choose=new JFileChooser();
choose.showOpenDialog(null);
file=choose.getSelectedFile();
try {
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream output=new FileOutputStream(file);
byte[] b=text.getText().getBytes();
output.write(b);
output.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}else if(e.getSource()==saveItem) {
choose=new JFileChooser();
choose.showOpenDialog(null);
file=choose.getSelectedFile();
try {
FileOutputStream output=new FileOutputStream(file);
byte[] b=text.getText().getBytes();
output.write(b);
output.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}else if(e.getSource()==pagesetupItem) { }else if(e.getSource()==printItem) { }else if(e.getSource()==closeItem) {
System.exit(1);
}
} }

运行截图

此外本周还学了关于数据库的知识

1.对于jdbc的一个了解

主要常用操作类与接口:

java.sql.DriverManager 用于管理jdbc驱动程序

Java.sql.Connection 用于建立与特定数据库的连接

Java.sql.Statement 一个Statement的对象用于执行静态sql语句,并获得语句执行后产生的后果

Java.sql.PreparedStatement 创建一个可以编译的sql语句对象,该对象可以多次被运行,以提高执行效率,是Statement的子接口

Java.sql.ResultSet 用于创建表示sql语句检索结果的结果集,用户通过结果集完成对数据库的访问

2.MySQL的安装与配置

3.MySQL的常用命令

1)mysql -u用户名 -p密码 连接mysql数据库

2)创建数据库:CREATE DATABASE 数据库名称;

3)删除数据库:DROP DATABASE 数据库名称;

4)USE 数据库名称; 使用数据库

5)创建数据库表

CREATE TABLE 表名称(
字段名称1 字段类型 [DEFAULT 默认值][约束],
字段名称2 字段类型 [DEFAULT 默认值][约束],
...,
字段名称n 字段类型 [DEFAULT 默认值][约束]
);

6)删除数据库表 DROP TABLE 表名称;

7)查看表结构 DESE 表名称;

8)查看数据库信息

查看全部数据库:SHOW DATABASES;

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

4.配置mysql数据库的驱动程序

package textshujuku;

public class Text {
public static final String DBDRIVER="ora.gjt.mm.mysql.Driver";
public static void main(String[] args) {
try {
Class.forName(DBDRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} }

5.连接及关闭数据库

使用DriverManager类连接数据库和Connection接口

连接地址

jdbc:mysql://IP地址:端口号/数据库名称

2019Java第十四周课程总结的更多相关文章

  1. 第十四周课程总结&记事本功能的简单实现。

    (1)课程总结: 这周简单学习了下JDBC的内容: JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: (1)连接数据源,如:数据库. (2)为数据库传递查 ...

  2. 第十四周课程总结&&实验总结

    课程总结: 1.Java实现跨平台操作的工具:JDBC. 它的意思是java数据库连接,可以方便的实现多种关系型数据库的统一操作,它由一组用java语句编写的类和接口组成. 2.JDBC驱动分类: J ...

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

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

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

    简单记事本的实现 实验源码 主类 package test1; import javax.swing.JFrame; import javax.swing.JTextArea; public clas ...

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

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

  6. 杨其菊201771010134《面向对象程序设计(java)》第十四周学习总结

    第十四周学习总结 第一部分:理论知识 理论知识:本周学习Swing用户界面 内容:Swing与模型-视图-控制器设计模式:布局管理概述:文本输入 :选择组件:菜单:复杂的布局管理:对话框: 第二部分: ...

  7. 201271050130-滕江南-《面向对象程序设计(java)》第十四周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnbl ...

  8. 201871010104-陈园园 《面向对象程序设计(java)》第十四周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  9. 201871010105-曹玉中《面向对象程序设计(java)》第十四周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. Android Studio 配置Gradle总结

    一, 问题:①换个新电脑安装完Android Sutdio第一次打开一个工程巨慢怎么办? ② 手动配置Gradle Home为什么总是无效? ③ 明明已经下载了Gradle,配置了gradle hom ...

  2. ajax的交互原理,同步和异步的区别

    ajax的交互原理分别为: 创建对象——建立连接——发送数据——注册回调——执行回调 var xhr=new XMLHttpRequest()//创建对象 xhr.open(请求,url,true或者 ...

  3. 请手写代码实现一个promise

    第一步:promise的声明 class Promise{ // 构造器 constructor(executor){ // 成功 let resolve = () => { }; // 失败 ...

  4. vue组件之子组件和父组件

    在看官网和学习的过程中,有些不明确子组件和父组件的定义,为了方便后期学习和理解去网站上搜索了一下相关的解释 1.使用的地方是父组件,定义的地方是子组件,虽然他们是同一个组件 2.Vue.compone ...

  5. 查询服务商的当月提审限额和加急次数(Quota) 调用遇到问题的来说说是什么情况{"errcode":-1,"errmsg":"system error hint: [_KbPJA05231543]"}

    感觉完全是按照微信官方的要求来的,还是提示错误.大家有遇到吗?在微信开发者社区里搜索相关问题,也是有人遇到这样的错误. 还是根据社区里说的,换过用开放平台的component accesstoken  ...

  6. 【Java】 Java网络编程总结

     一.网络编程三要素: IP地址:每个设备在网络中的唯一标识. 端口号:每个程序在设备上的唯一标识. 协议:为计算机网络中进行数据交换而建立的规则或约定的集合. UDP: 面向无连接,数据不安全,速度 ...

  7. 互联网安全架构之常见的Web攻击手段及解决办法

    一.Web 安全常见攻击手段 XSS(跨站脚本攻击) SQL 注入 CSRF(跨站请求伪造) 上传漏洞 DDoS(分布式拒绝服务攻击)等 二.攻击手段原理及解决方案 1.XSS攻击 原理:XSS 攻击 ...

  8. Delphi 变量的作用域

  9. uestc summer training #1

    A 一个很好想的dp ll dp[maxn][]; int main() { scanf("%d%d",&n,&k); memset(dp,,sizeof(dp)) ...

  10. vim快速到行尾

    快速到行尾A,或者End键(挨着Home键) 快速到第一行gg 快速到行首Home键,数字键的上面