第十四周课程总结和实验报告
源代码
public class NotePad implements ActionListener{
JFrame jframe;//窗体
MenuBar menuB;//菜单条
Menu menu_Text;//“文件”菜单
Menu menu_Edit;//“编辑”菜单
Menu menu_Help;//“帮助”菜单
MenuItem text_New;//“新建”菜单项
MenuItem text_Open;//“打开”菜单项
MenuItem text_Save;//“另存为”菜单项
MenuItem help_Viewhelp;//“查看帮助”菜单项
TextArea textArea;//文本域
FileDialog dia_Open;//“打开文件”对话框窗口
FileDialog dia_Save;//“保存文件”对话框窗口
String str=null;//存储文本内容
StringBuffer stringB=new StringBuffer();//字符串常量
char[] c;// 将字符串拆成数组
int[] a;//存储字符串的ASCII值
NotePad(){
//创建窗体
jframe=new JFrame();
jframe.setTitle("无标题 - 记事本");//初始标题
jframe.setSize(900,600);//设置大小
jframe.setVisible(true);//设置窗体可见
jframe.setLocationRelativeTo(null);//窗体放屏幕中间
jframe.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);//结束进程
//创建菜单
menuB=new MenuBar();//创建菜单条
menu_Text=new Menu("文件");//创建“文件”菜单
menu_Edit=new Menu("编辑");//创建“编辑”菜单
menu_Help=new Menu("帮助");//创建“帮助”菜单
text_New=new MenuItem("新建");//创建“文件”菜单下的菜单项
text_Open=new MenuItem("打开");
text_Save=new MenuItem("另存为");
help_Viewhelp=new MenuItem("查看帮助");
menu_Text.add(text_New);//将菜单项添加到菜单中
menu_Text.add(text_Open);
menu_Text.add(text_Save);
menu_Help.add(help_Viewhelp);
menuB.add(menu_Text);//将菜单添加到菜单条中
menuB.add(menu_Edit);
menuB.add(menu_Help);
jframe.setMenuBar(menuB);//将菜单条添加到窗体中
//添加监听器
text_New.addActionListener(this);
text_Open.addActionListener(this);
text_Save.addActionListener(this);
help_Viewhelp.addActionListener(this);
//FileDialog(Frame parent, String title, int mode):创建一个具有指定标题的文件对话框窗口,用于加载(load)或保存(save)文件
dia_Open = new FileDialog(jframe,"打开文件",FileDialog.LOAD);
dia_Save = new FileDialog(jframe,"保存文件",FileDialog.SAVE);
//创建文本域
textArea=new TextArea();
textArea.setBounds(0, 0, jframe.size().width, jframe.size().height);//设置大小
textArea.setBackground(Color.white);//设置背景颜色
textArea.setFont(new Font("宋体",0,16));//new Font(String 字体,int 风格,int 字号),Font.PLAIN或者0:普通字体
jframe.add(textArea);
}
//添加点击事件
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//e.getSource():获取点击的菜单项
if(e.getSource()==text_New){//新建
do_new();
}else if(e.getSource()==text_Open){//打开
do_open();
}else if(e.getSource()==text_Save){//保存
do_sava();
}else if(e.getSource()==help_Viewhelp){
do_desktop();
}
}
void do_new(){//新建记事本
if(textArea.getText().equals("")){//判断文本域有无内容
jframe.setTitle("无标题 - 记事本");//初始标题
}else{
warning();
}
}
void do_open(){//打开记事本
dia_Open.setVisible(true);//对话框可见
BufferedReader in;//文件缓冲流对象
try{
/*
* dia_Open.getDirectory():获取文件上一级的路径
* dia_Open.getFile():获取文件名
* getDirectory()+getFile():完整文件路径
*/
textArea.setText(null);//清空内容
in=new BufferedReader(new FileReader(dia_Open.getDirectory()+dia_Open.getFile()));//选择路径
//in.readLine():读取一整行(到换行符但不包括换行符)
while ((str=in.readLine())!= null){
c=str.toCharArray();// 将字符串拆成数组
a=new int[str.length()];//存储字符串的ASCII值
for(int i=0;i<c.length;i++){//解密
a[i]=(int)c[i]-10;//存储字符串的ASCII值
if(a[i]<0){//如果ASCII值小于0,则加上255
a[i]+=255;
}
c[i]=(char)a[i];//字符转化为ASCII值
}
str=String.valueOf(c);//将char转为string
textArea.append(str+"\n");//使字符串的末尾换行
}
in.close();//关闭
jframe.setTitle(dia_Open.getFile()+" - 记事本");//将打开的窗体标题显示为:文件名+“-记事本”
} catch (IOException e1) {//抛出异常
e1.printStackTrace();
}
}
void do_sava(){//保存记事本
dia_Save.setVisible(true);//对话框可见
FileOutputStream out;//文件输出流对象
try {
out=new FileOutputStream(dia_Save.getDirectory()+dia_Save.getFile()+"[加密].txt");//存为txt格式,文件名为你输入的字符串
str=textArea.getText().replace("\n", "\r\n");//获取文本域内容,并将"\n"换成"\r\n"
c=str.toCharArray();// 将字符串拆成数组
a=new int[str.length()];//存储字符串的ASCII值
for(int i=0;i<c.length;i++){//加密
a[i]=(int)c[i]+10;//字符转化为ASCII值
if(a[i]>255){//如果ASCII值大于255,则减去255
a[i]-=255;
}
c[i]=(char)a[i];//ASCII值转化为字符
}
str=String.valueOf(c);//将char转为string
out.write(str.getBytes());//str.getBytes():将字符串转化为字节数组
out.flush();//刷新缓冲区
out.close();//关闭
jframe.setTitle(dia_Save.getFile()+" - 记事本");//将保存后窗体标题显示为:文件名+"-记事本"
} catch (IOException e1) {
e1.printStackTrace();
}
}
void do_desktop(){//打开查看帮助
Desktop desktop = Desktop.getDesktop();//用默认浏览器打开网页
try {//打开帮助网页
desktop.browse(new URI("https://support.microsoft.com"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
void warning(){//弹出警告框
int option=JOptionPane.showConfirmDialog(null,"是否保存内容?","警告",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE, null);
switch (option) {
case JOptionPane.YES_NO_OPTION://点击“是”
do_sava();
break;
case JOptionPane.NO_OPTION://点击“否”
textArea.setText(null);
do_new();
break;
}
}
public static void main(String[] args){
//调用NotePad
new NotePad();
}
}
- 1、JDBC概述
JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成
2.JDBC驱动程序分为四类:
1)JDBC-ODBC桥驱动;
2)JDBA本地驱动;
3)JDBC网络驱动;
4)本地协议纯JDBC驱动; -
二、MySQL:
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
常用命令:
show databases; 显示数据库
create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒show tables; 显示表
describe tablename; 表的详细描述
select中加上distinct 去除重复字段