实验八

实现一个简单的记事本操作,有菜单项的

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; import javax.swing.*; public class Textpad implements ActionListener{
JFrame frame;
JTextArea text;
JMenu menu;
File file;
JMenuBar menubar;
JMenuItem newfile;
JMenuItem openfile;
JMenuItem savafile;
JMenuItem exitfile;
JFileChooser choose;
public Textpad() {
frame = new JFrame("记事本");
text = new JTextArea(30,40);
menu = new JMenu("文件");
menubar = new JMenuBar();
newfile = new JMenuItem("新建(N)",new ImageIcon("c:"+ File.separator + "Users" + File.separator + "hyl18" + File.separator + "Desktop" + File.separator + "newfile.jpg"));
openfile = new JMenuItem("打开(O)",new ImageIcon("c:"+ File.separator + "Users" + File.separator + "hyl18" + File.separator + "Desktop" + File.separator + "openfiel.jpg"));
savafile = new JMenuItem("保存(S)",new ImageIcon("c:"+ File.separator + "Users" + File.separator + "hyl18" + File.separator + "Desktop" + File.separator + "closefiel.jpg"));
exitfile = new JMenuItem("退出(E)",new ImageIcon("c:"+ File.separator + "Users" + File.separator + "hyl18" + File.separator + "Desktop" + File.separator + "exitfiel.jpg"));
newfile.setMnemonic('N');
openfile.setMnemonic('O');
savafile.setMnemonic('S');
exitfile.setMnemonic('E');
newfile.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
openfile.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
savafile.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
exitfile.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));
menu.add(newfile);
menu.add(openfile);
menu.add(savafile);
menu.add(exitfile);
menubar.add(menu);
newfile.addActionListener(this);
openfile.addActionListener(this);
savafile.addActionListener(this);
exitfile.addActionListener(this);
frame.setJMenuBar(menubar);
frame.setVisible(true);
frame.setSize(400,300);
frame.setLocation(300, 200);
frame.add(text);
} public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if(obj instanceof JMenuItem) {
JMenuItem item = (JMenuItem)obj;
if(item == newfile) {
new Textpad();
}
else if(item == openfile) {
choose = new JFileChooser();
choose.showOpenDialog(null);
file = choose.getSelectedFile();
try {
FileInputStream fis = new FileInputStream(file);
byte b[] = new byte[fis.available()];
fis.read(b);
fis.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
else if(item == savafile) {
choose = new JFileChooser();
choose.showSaveDialog(null);
}
else if(item == exitfile) {
System.exit(1);
}
} } } public class Jishiben {
public static void main(String args[]) {
new Textpad();
} }

相关截屏



本周讲解了Java数据库编程,JDBC的介绍,MySQL数据库简介,怎样用JDBC链接数据库,以及必要的驱动程序,KResultSet接口操作

JDBC

jdbc提供的是一套标准的接口,极大的体现了Java可移植性的设计思想

jdbc有

jdbc-odbc驱动,用微软的odbc进行直接操作

本地驱动,只能在特定的数据库上,丧失了程序的可移植性。

网络驱动将纯java客户机连接到不同的数据库上

本地协议纯jdbc驱动,可以从客户机上直接调用dbms服务器。

jdbc的核心是为用户提供api类库。



MySQL

MySQL由于其体积小,速度快,总体拥有成本低,开放源码

MySQL默认端口值是3306.

jdbc链接数据库

各个数据库会提供jdbc的驱动开发包,直接把jdbc操作所需要的开发包配置到classpath路径即可。

链接数据库可以使用DriverManager类链接数据库



数据库连接地址格式



Connetion接口,以后所有的数据库的操作都从此接口开始



数据库链接后,数据库的具体操作则要使用Statement接口完成,此接口可以使用Connect接口中提供的create Statement()方法实例化

ResultSet接口

在jdbc的操作中数据库的所有查询记录将使用ResultSet接口接收,并使用ResultSet取得内容。



开发中要限制查询数量。

所有数据都可以通过getString()方法取得。

第十四周总结&实验报告八的更多相关文章

  1. 第四周总结&实验报告二

    第四周总结&实验报告二 课程总结 这周我们学习了string类,以及很多string类的很多操作方法,同时string也是一个对象,在用到它时我们首字母需要大写,这周我们还加深了对函数构造的理 ...

  2. 第四周总结 & 实验报告(二)

    第四周课程总结 一.String类 1.实例化 (1)直接赋值 public class Xxxx{ public static void main(String args[]){ String a ...

  3. 第十四周java实验作业

    实验十四  Swing图形界面组件 实验时间 20178-11-29 1.实验目的与要求 (1) 掌握GUI布局管理器用法: 在java中的GUI应用 程序界面设计中,布局控制通过为容器设置布局管理器 ...

  4. Java第四周总结+实验报告

    实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性 ...

  5. 第十四周实验报告:实验四 Android程序设计

    20162317袁逸灏 第十四周实验报告:实验四 Android程序设计 实验内容 Android Studio 实验要求 学会使用Android Studio 学习 活动 以及相关知识内容 学习 U ...

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

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

  7. 第十四周学习总结&课程实验报告

    课程总结 一.相关概念 1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统 ...

  8. 20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计

    20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...

  9. 计算机网络实验八实验报告——应用Packet Tracer 5.0模拟器工具对WLAN进行配置

    计算机网络实验八实验报告 一.实验目的 1.熟练使用Packet Tracer 5.0模拟器: 2.应用Packet Tracer 5.0模拟器工具对WLAN进行配置. 二.实验环境 一台PC机. 模 ...

随机推荐

  1. DataWorks参数配置

    https://help.aliyun.com/document_detail/30281.html?spm=a2c6h.13066369.0.0.7bef69daI5ajKt

  2. Jmeter插件介绍

    JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu.memory.swap.disk io和network的监控. 插件可分四类: 用于服务器性能监视的 ...

  3. throttle和debounce函数

    控制耗性能的函数,避免浏览器卡死

  4. 第六章 Linux文件与目录管理

    http://www.92csz.com/study/linux/6.htm 绝对路径:路径的写法一定由根目录”/”写起 相对路径:路径的写法不是由根目录”/”写起 mkdir 创建一个目录.mkdi ...

  5. 操作系统——HugePage

    TLB:页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令.数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令.数据.为了减少因为MMU导致的处理器性能下降 ...

  6. python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件

    import sys def get_cur_info(): print(sys._getframe().f_code.co_filename) # 当前文件名,可以通过__file__获得 prin ...

  7. 2019hdu多校 Minimal Power of Prime

    题目链接:Click here 题目大意:求一个数分解质因数后的最小幂指数 Solution: 首先,我们肯定是不能直接暴力求解的 我们先考虑筛出1e4范围以内的所有质数,把x所有这个范围内的质因子筛 ...

  8. vue几种简单的传值方式

    除了一下的几种方式外,可以参考 https://www.cnblogs.com/hpx2020/p/10936279.html 组件传值的方法: 一.父组件向子组件传递数据(props) 第1:父组件 ...

  9. css中如何使用border属性与display属性

    border属性介绍 border属性设置元素边框. 边框3个要素如:粗细.线型.颜色. 边框线型属性值说明表如: 属性指 描述 none 定义无边框. hidden 与 "none&quo ...

  10. 微信小程序 API 数据缓存

    微信小程序 数据缓存 (类似于 cookie) wx.setStorage() 将数据存储在本地缓存中制定的 key 中.会覆盖掉原来该 key 对应的内容,数据存储生命周期跟小程序本身一致,即除用户 ...