实验八

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

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. WinDbg调试.NET程序入门
  2. 测试Open Live writer
  3. filter()函数 条件筛选
  4. mssqlserver 批量插入示例
  5. UVa 1594 (Floyd判圈) Ducci Sequence
  6. Firebird 同一字段的多行合并为一行
  7. 腾讯公司数据分析岗位的hadoop工作 线性回归 k-means算法 朴素贝叶斯算法 SpringMVC组件 某公司的广告投放系统 KNN算法 社交网络模型 SpringMVC注解方式
  8. Php 解析XML文件
  9. 一个web应用的诞生--美化一下
  10. python的组合数据类型及其内置方法说明
  11. Mybatis+mysql批量插入性能分析测试
  12. CSS引用样式
  13. rtx tiny os
  14. ECharts图表之柱状折线混合图
  15. ubuntu 配置 apt 使用代理
  16. MPLS笔记
  17. Codeforces 40E Number Table - 组合数学
  18. b1.关于em和px的关系
  19. SW-DP (Serial Wire Debug Port) Analyzer plugin for the Saleae Logic
  20. 前端常用功能记录(二)—datatables表格(转)

热门文章

  1. c++ primer 5th(中文版)勘误
  2. 【HDU4276】The Ghost Blows Light
  3. pyqt-swf
  4. 解决eclipse部署maven项目无法导入lib的问题
  5. QGIS源码解析和二次开发
  6. Egret Tween
  7. 类锁和对象锁,synchronized修饰static方法与非static方法的区别
  8. Logger工具类
  9. bootstrap editable初始化后表单可修改数据
  10. Mysql中 BLOB字段转String的方法