简单记事本的实现
1.实验代码
package Demo; import java.awt.event.*; import java.io.*; import javax.swing.*; public class test1 implements ActionListener { ImageIcon newIcon,openIcon,saveIcon,closeIcon; JMenuItem newItem,openItem,saveItem,closeItem; JTextArea text; File file; public test1() { JFrame frame=new JFrame("TSL"); JMenuBar bar=new JMenuBar(); JMenu Menufile=new JMenu("文件"); JMenu Menuedit=new JMenu("编辑"); text=new JTextArea(); text.setEditable(true); frame.getContentPane().add(new JScrollPane(text)); newItem=new JMenuItem("新建",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"new.jpg")); openItem=new JMenuItem("打开",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"open.jpg")); closeItem=new JMenuItem("关闭",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"close.jpg")); saveItem=new JMenuItem("保存",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"save.jpg")); newItem.setMnemonic(‘N‘); openItem.setMnemonic(‘O‘); closeItem.setMnemonic(‘C‘); saveItem.setMnemonic(‘S‘); newItem.setAccelerator(KeyStroke.getKeyStroke(‘N‘,java.awt.Event.CTRL_MASK)); openItem.setAccelerator(KeyStroke.getKeyStroke(‘O‘,java.awt.Event.CTRL_MASK)); closeItem.setAccelerator(KeyStroke.getKeyStroke(‘C‘,java.awt.Event.ALT_MASK)); saveItem.setAccelerator(KeyStroke.getKeyStroke(‘E‘,java.awt.Event.ALT_MASK)); newItem.addActionListener(this); openItem.addActionListener(this); saveItem.addActionListener(this); closeItem.addActionListener(this); bar.add(Menufile); bar.add(Menuedit); Menufile.add(newItem); Menufile.add(openItem); Menufile.add(saveItem); Menufile.add(closeItem); frame.setJMenuBar(bar); frame.setVisible(true); frame.setSize(600,500); frame.setLocation(300,200); } public void actionPerformed(ActionEvent event) { Object obj=event.getSource(); if(obj instanceof JMenuItem) { JMenuItem item=(JMenuItem)obj; if(item==newItem) { new test1(); }else if(item==openItem) { JFileChooser chooser = new JFileChooser(); chooser.showOpenDialog(null); file=chooser.getSelectedFile(); try { FileInputStream fis = new FileInputStream(file); byte[] b=new byte[fis.available()]; fis.read(b); text.append(new String(b)); fis.close(); }catch(FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }else if(item==saveItem) { JFileChooser chooser = new JFileChooser(); chooser.showSaveDialog(null); file=chooser.getSelectedFile(); if(!file.exists()) { try { file.createNewFile(); }catch (IOException e) { e.printStackTrace(); } } }else if(item==closeItem) { System.exit(0); } } } }
package Demo; import java.awt.event.*; import java.io.*; import javax.swing.*; public class test2 { public static void main(String[] args) { new test1(); } }
2.实验截图




实验总结:这个老师上课讲过,还打过代码给我们看,书上也有相似的例子,参考参考基本上能够写出来
学习总结:
1.JDBC的主要操作类及接口
| 序号 | 类及接口 | 描 述 | 
| 1 | java.sql.DriverManager | 用于管理JDBC驱动程序 | 
| 2 | java.sql.Connection | 用于建立与特定数据库的连接,一个连接就是一个会话,建立后连接后便可以执行SQL语句和获得检索结果 | 
| 3 | java.sgql.Statement | 一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果 | 
| 4 | java.sql.PreparedStatement | 创建一个可以编译的SQL语句对象,该对象可以被多次运行, 以提高执行的效率,该接口是Statement的子接口 | 
| 5 | java.sql.ResultSet | 用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问 | 
| 6 | java.sql.Date | 该类是标准java.uil.Date的一个子集,用于表示与SQL DATE相同的日期类型,该日期不包括时间 | 
| 7 | java.sgl.Trimestamp | 标准java.util.Date类的扩展,用于表示SQL时间戳,并增加了一个能表示ns (纳秒)的时间域 | 
| 8 | java.sql.CallableStatement | 用于执行SQL存储过程 | 
| 9 | java.sql.DatabaseMetaData | 与java.sql.ResultSetMetaData一同用于访问数据库的元信息 | 
| 10 | java.sql.Driver | 定义一个数据库驱动程序的接口 | 
| 11 | java.sql.DataTruncation | 在JDBC遇到数据截断的异常时,报告一个警告(读数据时) 或产生一个异常(写数据时) | 
| 12 | java.sql.DriverPropertyInto | 高级程序设计人员通过DriverPropertyInfo与Driver进行交流, 可使用getDriverPropertyInfo获取或提供驱动程序的信息 | 
| 13 | java.sql.Time | 该类是标准java.util.Date的一个子集,用于表示时、分、秒 | 
| 14 | java.sgl.SQLException | 对数据库访问时产生的错误的描述信息 | 
| 15 | java.sgql.SQL Warning | 对数据库访问时产生的警告的描述信息 | 
| 16 | java.sql.Types | 定义了表示SQL类型的常量 
 | 
2.Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。
一、JDBC-ODBC桥
JDBC-ODBC 桥 是sun公司提供的,这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码。
二、本地API驱动
本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库。
三、网络驱动
JDBC先把对数局库的访问请求传递给网 络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用 传给数据库服务器。
四、本地协议驱动
这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求。
1.加载数据库驱动程序
2.连接数据库
3.使用语句进行数据库操作
4.关闭数据库连接
1、增加数据
insert into 表名称[(字段1,字段2,....字段n)]values(值1,值2.....值n);
2、删除数据
delete 表名称[删除条件];
3、更新数据
update 表名称 set 字段1=值1......字段n=值1[where 更新条件];
4查询数据
select{*|column alias}
from 表名称 别名
[where condition(s)];        //设置查询条件
原文:https://www.cnblogs.com/lyp82ndl/p/11959996.html