码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-29 15:49:53      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:mysql   布局管理   窗体显示   amp   seo   cal   text   split   WAD   

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

实验代码:

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操作命令符

insertdeleteupdateselect

?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基本数据类型

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

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

标签:mysql   布局管理   窗体显示   amp   seo   cal   text   split   WAD   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!