第十四周总结&实验报告八

实验八

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

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()方法取得。

posted @ 2019-11-28 23:16  xiaoliangliang  阅读(164)  评论(0编辑  收藏  举报