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

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

实验代码:


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.GraphicsEnvironment;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import
java.awt.event.FocusEvent;

import
java.awt.event.FocusListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.MouseWheelEvent;

import java.awt.event.MouseWheelListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import
java.io.InputStream;

import java.io.PrintStream;

import java.util.Calendar;

import java.util.GregorianCalendar;

import java.util.Scanner;

?

import javax.swing.BorderFactory;

import javax.swing.ButtonGroup;

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JColorChooser;

import javax.swing.JComboBox;

import
javax.swing.JComponent;

import javax.swing.JDialog;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JRadioButton;

import javax.swing.JScrollPane;

import javax.swing.JSplitPane;

import javax.swing.JTabbedPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.KeyStroke;

import javax.swing.event.CaretEvent;

import javax.swing.event.CaretListener;

import javax.swing.filechooser.FileNameExtensionFilter;

import javax.swing.text.BadLocationException;

import javax.swing.undo.UndoManager;

?

public
class Notepad implements ActionListener , CaretListener , ItemListener , MouseWheelListener{

????//记事本窗口

????static
int
windownum=0; //记录窗口数目

????int
pos,lineOfC,col,zishu,lastzishu; //行、列、字数、新建打开文本时的字数

????boolean
ischange; //记录文本域是否被改变过

????JFrame HL = new JFrame("无标题 - 记事本"); //声明一个窗体对象

????Container cont =HL.getContentPane(); //得到窗体容器

????JTextArea jta = new JTextArea(); //构造一个文本域

????JScrollPane scr = new JScrollPane(jta,

????????????JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,

????????????JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//滚动条组件,按需要出现

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

????JMenu editFile = new JMenu("编辑(E)"); //定义JMenu组件

????JMenu formatFile = new JMenu("格式(O)"); //定义JMenu组件

????JMenu visonFile = new JMenu("查看(V)"); //定义JMenu组件

????JMenu zoomFile = new JMenu("缩放(Z)"); //定义JMenu组件

????JMenu helpFile = new JMenu("帮助(H)"); //定义JMenu组件

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

????JMenuItem newItem = new JMenuItem("新建(N)");//创建JMenuItem

????JMenuItem windowItem = new JMenuItem("新窗口(W)");//创建JMenuItem

????JMenuItem openItem = new JMenuItem("打开(O)");//创建JMenuItem

????JMenuItem exitItem = new JMenuItem("退出(E)");//创建JMenuItem

????JMenuItem typeface = new JMenuItem("字体(F)");//创建JMenuItem

????JMenuItem saveItem = new JMenuItem("保存(S)");//创建JMenuItem

????JMenuItem osaveItem = new JMenuItem("另存为(B)");//创建JMenuItem

//文件

????File file = null; //接收打开的文件

????int
result = 0; //接收操作的结果

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

?

public Notepad(){

????????windownum++; ????//记事本窗口数加一

????????ischange=true; //文本域没被改变过

????????//记事本窗体

????????HL.setLayout(new BorderLayout());//设置布局管理器

saveItem.addActionListener(this); //加入菜单项监听

????????osaveItem.addActionListener(this); //加入菜单项监听

????????openItem.addActionListener(this); //加入菜单项监听

openItem.setMnemonic(‘O‘); //设置快捷键O

????????saveItem.setMnemonic(‘S‘); //设置快捷键S

????????osaveItem.setMnemonic(‘B‘); //设置快捷键A

????????openItem.setAccelerator(KeyStroke.getKeyStroke(‘O‘, java.awt.Event.CTRL_MASK));//Ctrl+O

????????saveItem.setAccelerator(KeyStroke.getKeyStroke(‘S‘, java.awt.Event.CTRL_MASK));//Ctrl+S

????????osaveItem.setAccelerator(KeyStroke.getKeyStroke(‘B‘, java.awt.Event.CTRL_MASK));//Ctrl+A

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

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

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

menuBar.add(menuFile); //加入menu

HL.setJMenuBar(menuBar); //加入菜单栏

????????HL.add(scr,BorderLayout.CENTER); //文本加入到窗体

HL.setSize(800,700); //设置窗体大小

????????HL.setLocation(600,200); //设置窗体显示位置

????????HL.setVisible(true); //让组件显示

????????HL.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//退出应用程序不做任何事情,由窗口监听进行处理

//文件

????????fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("文本文档(*.txt)", "txt"));//文件过滤器

//????????fileChooser.setFileFilter(new FileNameExtensionFilter("文本文档(*.txt)", "txt")); //同上

fileChooser.setSelectedFile(new File("*.txt")); // 设置打开文件选择框后默认输入的文件名

}

public
void actionPerformed(ActionEvent e) { //动作事件

if(e.getSource()==osaveItem ||e.getSource()==saveItem){ //判断触发源是否是提交保存按钮

????????????result = fileChooser.showSaveDialog(this.frame); //显示保存文件框

????????????}else{

????????????????if(file!=null){

????????????????????try{

????????????????????????PrintStream out = new PrintStream( //实例化打印流对象

????????????????????????????????new FileOutputStream(file));

????????????????????????out.print(this.jta.getText()); //输出全部内容

????????????????????????out.close(); //关闭输出流

????????????????????????lastzishu=jta.getText().length(); //得到文本长度

????????????????????????ischange=true;

????????????????????}catch(Exception ex){ //文件保存失败

???????????????? //do nothing

????????????????????}

????????????????}

????????????????HL.setTitle(file.getName()+" - 记事本"); //更改HL窗口标题

????????????????

????????????}

????????????if(result==JFileChooser.APPROVE_OPTION){ //判断是否选择的是保存

????????????????file = fileChooser.getSelectedFile(); //选择要保存的文件

????????????????if(file!=null){

????????????????????try{

????????????????????????PrintStream out = new PrintStream( //实例化打印流对象

????????????????????????????????new FileOutputStream(file));

????????????????????????out.print(this.jta.getText()); //输出全部内容

????????????????????????out.close(); //关闭输出流

????????????????????????lastzishu=jta.getText().length(); //得到文本长度

????????????????????????ischange=true;

????????????????????}catch(Exception ex){ //文件保存失败

???????????????? //do nothing

????????????????????}

????????????????}

????????????????HL.setTitle(file.getName()+" - 记事本"); //更改HL窗口标题

????????????????

????????????}

????????}else
if(e.getSource()==openItem){

????????????if(ischange||HL.getTitle().equals("无标题 - 记事本")&&zishu==0){

????????????????this.jta.setText(""); //清空文本中的原有内容

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

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

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

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

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

????????????????}else
if(result==JFileChooser.CANCEL_OPTION){ //表示选择了取消按钮

???????????????????? //do nothing

????????????????}else{//result==JFileCHooser.ERROR_OPTION //出现错误

???????????????????? //do nothing

????????????????}

????????????????if(file!=null){

????????????????????HL.setTitle(file.getName()+" - 记事本"); //更改HL窗口标题

????????????????????try{

????????????????????????Scanner scan = new Scanner(

????????????????????????????????new FileInputStream(file)); //设置输入流

????????????????????????scan.useDelimiter("\n"); //设置换行分隔符

????????????????????????while(scan.hasNext()){ //循环读取

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

????????????????????????}

????????????????????????scan.close(); //关闭

????????????????????????lastzishu=jta.getText().length(); //得到文本长度

????????????????????????ischange=true;

????????????????????}catch(Exception ex){

???????????????????????? //do nothing

????????????????????}

????????????????}

???????? }else{

???????? ????ispass=2;

???????? ????isSave.setVisible(true); //跳出isSave窗口

????????????}

????????}

}

运行结果:

课程总结:

老师以较快的速度讲解了JDBC,所以我只是大概了解,还需要按照课本加以网络的指导完成数据库的安装和基础使用操作。

?

常用SQL操作命令符


增insert删delete改update查select

?update 更新? ?alter? 改变

? ?
?

创建数据库? ? ? ? ? create database?数据库;

查看指定数据库? ?show create database?数据库;

查看数据库(所有的) show databases;

修改数据库编码? ? alter database?数据库 default character set? 新编码方式 collate?新编码方式_bin;

使用数据库? ? ? ? ? use db

删除数据库? ? ? ? ? drop database?数据库;(不能一次删除多个!)

? ?
?

创建表? ? ? ? ? ? ? ? ?create table 表名(列名
数据类型 [not null] [primary key],列名
数据类型 [not null],..)?

查看所有表? ? ? ? ? ?show tables

查看一个表数据? ? ?select * from 表名? ? ? ? *代表所有列? 也可以select? 列名 from 表名

删除表? ? ? ? ? ? ? ? ?drop table 表名

更改表名? ? ? ? ? ? ? rename?table 旧表名 to?新表名

? ?
?

增加表内容
插入数据? ? ?insert? into? 表名(列名,列名...)values(值,值...)

修改列中的一条记录? ? ? update? 表名? set? ?列=值? ?where? ?列=值? ?

删除列中的一条记录? ? ? delete? from? 表名? ?where? ?列=值??

? ?
?

增加一个列? ? ? ? ? ? ? ? ? Alter table 表名 add 列名
数据类型

删除一个列? ? ? ? ? ? ? ? ? Alter table 表名?drop column 列名?

修改一个列名? ? ? ? ? ? ? Alter table? 表名 change 列名? 新列名
数据类型;

? ?
?

desc 降序排列

asc? ?升序排列

? ?
?

delete 删除记录? 结构依然存在? ?即还可以找到? ?执行后有提交过程

drop? ?结构和数据都删除? ? ?一步操作完成

MySQL基本数据类型







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

原文地址:https://www.cnblogs.com/hlywzj/p/11957887.html

时间: 2024-11-05 14:49:33

第十四周课程总结&实验报告的相关文章

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

简单记事本的实现 实验代码 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.FileI

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

记事本代码: 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) 使用构造函数完成各属性

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

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

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