第十四周课程总结&实验报告
简单记事本的实现
实验源码
主类
package test1;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class WordPAD {
public static void main(String[] args) {
new Note();
}
}
Note类
package test1;
import javax.swing.*;
import javax.swing.undo.UndoManager;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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 java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Scanner;
public class Note {
JFrame frame;
JTextArea area;
JMenu jmenu,jmeun1;
JMenuBar bar;
JScrollPane scr;
JMenuItem newItem,openItem,saveItem,closeItem;
JMenuItem cx,jq,fz,zt,sc;
JPanel butpan=new JPanel();
int result=0;
UndoManager um;
byte b[];
InputStream input;
OutputStream out;
public Note() {
frame=new JFrame("L L");
area=new JTextArea(30,40);
jmenu=new JMenu("文件");
jmeun1=new JMenu("编辑");
jmenu.setIcon(new ImageIcon("C:\\Users\\26404\\Desktop\\1.PNG"));
jmenu.addSeparator();
bar=new JMenuBar();
scr=new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
newItem=new JMenuItem("新建(N)",new ImageIcon("C:\\Users\\26404\\Desktop\\2.PNG"));
openItem=new JMenuItem("打开(O)",new ImageIcon("C:\\Users\\26404\\Desktop\\3.PNG"));
saveItem=new JMenuItem("另存为(A)",new ImageIcon("C:\\Users\\26404\\Desktop\\5.PNG"));
closeItem=new JMenuItem("关闭(X)",new ImageIcon("C:\\Users\\26404\\Desktop\\4.PNG"));
cx=new JMenuItem("撤销(U)");
jq=new JMenuItem("剪切(T)");
fz=new JMenuItem("复制(C)");
zt=new JMenuItem("粘贴(P)");
sc=new JMenuItem("删除(L)");
newItem.setMnemonic(KeyEvent.VK_N);
openItem.setMnemonic(KeyEvent.VK_O);
saveItem.setMnemonic(KeyEvent.VK_A);
closeItem.setMnemonic(KeyEvent.VK_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('A', java.awt.Event.CTRL_MASK));
closeItem.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
cx.setMnemonic(KeyEvent.VK_U);
jq.setMnemonic(KeyEvent.VK_T);
fz.setMnemonic(KeyEvent.VK_C);
zt.setMnemonic(KeyEvent.VK_P);
sc.setMnemonic(KeyEvent.VK_L);
cx.setAccelerator(KeyStroke.getKeyStroke('Z', java.awt.Event.CTRL_MASK));
jq.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
fz.setAccelerator(KeyStroke.getKeyStroke('C', java.awt.Event.CTRL_MASK));
zt.setAccelerator(KeyStroke.getKeyStroke('V', java.awt.Event.CTRL_MASK));
sc.setAccelerator(KeyStroke.getKeyStroke("Del"));
jmenu.add(newItem);
jmenu.add(openItem);
jmenu.add(saveItem);
jmenu.add(closeItem);
jmeun1.add(cx);
jmeun1.add(jq);
jmeun1.add(fz);
jmeun1.add(zt);
jmeun1.add(sc);
bar.add(jmenu);
bar.add(jmeun1);
frame.add(scr);
frame.setJMenuBar(bar);
newItem.addActionListener(new ActionListener() {//新建
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newItem)
new Note();
}
});
JFileChooser chooser=new JFileChooser();
openItem.addActionListener(new ActionListener() {//打开
public void actionPerformed(ActionEvent e) {
File file=null;
if(e.getSource()==openItem) {
area.setText("");
chooser.showOpenDialog(frame);
file=chooser.getSelectedFile();
if(file!=null) {
try {
Scanner scan=new Scanner(new FileInputStream(file));
scan.useDelimiter("\n");
while(scan.hasNext()) {
area.append(scan.next ());
area.append("\n");
}
scan.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
}
}
});
saveItem.addActionListener(new ActionListener() {//另存为
public void actionPerformed(ActionEvent e) {
File file;
chooser.showSaveDialog(frame);
file=chooser.getSelectedFile();
if(!file.exists()) {
JOptionPane.showMessageDialog(null, "创建文件"+file.getName());
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
}
try {
PrintStream out=new PrintStream(new FileOutputStream(file));
out.print(area.getText());
out.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
});
closeItem.addActionListener(new ActionListener() {//关闭
public void actionPerformed(ActionEvent e) {
if(e.getSource()==closeItem)
System.exit(1);
}
});
cx.addActionListener(new ActionListener() {//撤销
public void actionPerformed(ActionEvent e) {
um=new UndoManager();
if(e.getSource()==cx)
if (um.canUndo())
{
um.undo();
}
}
});
zt.addActionListener(new ActionListener() {//粘贴
public void actionPerformed(ActionEvent e) {
if(e.getSource()==zt) {
area.paste();
}
}
});
fz.addActionListener(new ActionListener() {//复制
public void actionPerformed(ActionEvent e) {
if(e.getSource()==fz)
area.copy();
}
});
jq.addActionListener(new ActionListener() {//剪切
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jq)
area.cut();
}
});
sc.addActionListener(new ActionListener() {//删除
public void actionPerformed(ActionEvent e) {
if(e.getSource()==sc)
{
String str=area.getSelectedText();
String newStr = area.getText().replace(str, "");
area.setText(newStr);
}
}
});
frame.setLocation(350, 184);
frame.setSize(600,400);
frame.setVisible(true);
area.setEditable(true);
}
}
实验结果


这段代码的撤销功能还没实现,其余的像复制、粘贴、剪切都实现了,其实也不难,直接调用相应的方法。
JDBC
JDBC是Java提供的一套数据库操作标准。JDBC提供了一种与平台无关的用于执行SQL语言的标准java API,可以方便地实现多种关系型数据库地统一操作。
MySQL数据库
MySQL常用命令
1.连接MySQL数据库
mysql-u用户名-p密码
2.创建数据库
创建数据库:CREATE DATABASE 数据库名称;
删除数据库:DROP DATABSE 数据库库名称;
3.使用数据库
USE 数据库名称;
4.创建数据库表
CREATE TABLE 表名称(
字段名称1 字段类型 [DEFAULT 默认值][约束],
字段名称2 字段类型 [DEFAULT 默认值][约束],
·····,
字段名称n 字段类型 [DEFAULT 默认值][约束],
);
5.删除数据库表
DROP TABLE 表名称;
6.查看表结构
DESC 表名称;
7.查看数据库信息
查看全部数据库:SHOW DATABASES;
看一个数据库的全部表:SHOW TABLES;
MySQL中的数据类型


增加数据
INSERT INTO 表名称[(字段1,字段2,字段3,····字段n)]VALUSE(值1,值2,值3···值n);
删除数据
DELETE FROM [删除条件];
更新数据
UPDATE 表名称 SET 字段1=值1,···字段n=值1[WHERE 更新条件];
查询数据
简单查询语句
SELECT{*|column alias}
FROM 表名称 别名
[WHERE condition(s)];
查询全部数据
SELSCT *FROM user;
Connection接口的常用方法


第十四周课程总结&实验报告的更多相关文章
- 第十四周课程总结 & 实验报告
一.JDBC JDBC概述 JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成 JDBC的主要操作 ...
- 第十四周课程总结&实验报告(简单记事本的实现)
1.JDBC概述 JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成 主要常用操作类与接口: ja ...
- 第四周课程总结&实验报告(二)
Java实验报告(二) 实验二 Java简单类与对象 一. 实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造 ...
- 第四周课程总结&实验报告二
第四周课程总结 第四周课程总结 本周重点为学习String;首先String用以创建字符串,且通过有一次课堂练习加强理解到:String 类是不可改变的,一旦创建了 String 对象,那它的值就无法 ...
- 第四周课程总结&实验报告
实验报告 1.写一个名为Rectangle的类表示矩形. 其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求 ...
- 第十四周课程总结&&实验总结
课程总结: 1.Java实现跨平台操作的工具:JDBC. 它的意思是java数据库连接,可以方便的实现多种关系型数据库的统一操作,它由一组用java语句编写的类和接口组成. 2.JDBC驱动分类: J ...
- 第三周课程总结&实验报告
课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...
- Java第三周课程总结&实验报告一
第三周课程总结 1.关于面向对象的一些具体内容,明白了类与对象以及Java的封装性和构造方法以及对对象匿名的相关知识. 2.this关键字,它是表示类的成员属性(变量),使用this构造方法时必须放在 ...
- 第六周课程总结&实验报告(四)
实验报告(四) 一.实验目的 1.掌握类的继承 2.变量的继承和覆盖,方法的继承,重载和覆盖的实现 二.实验的内容 1.根据下面的要求实现圆类Circle. 圆类Circle的成员变量:radius表 ...
随机推荐
- PHP实现yii项目转发有哪几种方法?
header("location: index.php"); 如果header后面有代码, 会执行, 如果不想执行, 则加上exit;或者die();等, 应该可以应用到yii项目 ...
- Java数据库小项目01--实现用户登录注册
先实现数据库和数据表,检测正常后再做其他的 CREATE TABLE users( username ) NOT NULL, PASSWORD ) NOT NULL); INSERT INTO use ...
- BZOJ 4562: [Haoi2016]食物链 拓扑排序
建反图,跑一个拓扑排序dp即可. Code: #include <bits/stdc++.h> #define ll long long #define N 100005 #define ...
- 并发编程入门(二):分析Boost对 互斥量和条件变量的封装及实现生产者消费者问题
请阅读上篇文章<并发编程实战: POSIX 使用互斥量和条件变量实现生产者/消费者问题>.当然不阅读亦不影响本篇文章的阅读. Boost的互斥量,条件变量做了很好的封装,因此比" ...
- 记录一:tensorflow下载安装
1.下载Anaconda,默认选项安装 2.验证 conda --v 3.下载 tensorflow 3.1 创建环境 conda create -n tensorflow python=3. ...
- Linux之GDB调试命令
gdb启动 gdb 程序名 l 查看源代码(默认显示十行) l 文件名:行数 l 文件名:函数名 添加断点 break + 行数 (b 也行) b 15 if i == 15 条件断点 i b 查看断 ...
- mysql 5.7.16 安装配置
环境变量在path中添加一个 E:\soft\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin 查看mysql版本mysql -V 生成无密码账户进入到mysql ...
- 巨丑vue
<template> <div> <div class="demo-type" align="right" style=" ...
- maven在pom文件中引入了icepdf-core包,pom文件却莫名的报错,说jai_core包missing
maven在pom文件中引入了icepdf-core包,却莫名的报错,说jai_core包missing,把这个jai_core包引入之后还是一样报错,PS:icepdf-core使用的时候不用引用j ...
- vmware 中Linux系统怎么连接外网?
VMware虚拟机有三种网络模式,分别是Bridged(桥接模式).NAT(网络地址转换模式).Host-only(主机模式). VMware workstation安装好之后会多出两个网络连接,分别 ...