简单记事本
实验代码
package Demo;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
class Charon implements ActionListener{
JFrame frame;
JMenuBar bar;
JMenu fileMenu;
JMenuItem newItem,openItem,saveItem,closeItem;
ImageIcon newIcon,openIcon,saveIcon,closeIcon;
JScrollPane scroll;
JTextArea area;
JFileChooser chooser;
File file;
public Charon() {
frame = new JFrame("HJ");
bar = new JMenuBar();
fileMenu =new JMenu("文件");
newItem = new JMenuItem("新建(N)",newIcon);
openItem = new JMenuItem("打开(O)",openIcon);
saveItem = new JMenuItem("另存为(A)",saveIcon);
closeItem = new JMenuItem("关闭(X)",closeIcon);
area = new JTextArea();
scroll = new JScrollPane(area);
newItem.setMnemonic(KeyEvent.VK_N);
openItem.setMnemonic(KeyEvent.VK_O);
saveItem.setMnemonic(KeyEvent.VK_A);
closeItem.setMnemonic(KeyEvent.VK_X);
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_DOWN_MASK));
closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_DOWN_MASK));
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(closeItem);
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
closeItem.addActionListener(this);
bar.add(fileMenu);
frame.setJMenuBar(bar);
frame.add(scroll);
frame.setSize(400,300);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent event) {
Object obj = event.getSource();
JMenuItem item = null;
if(obj instanceof JMenuItem) {
JMenuItem item1=(JMenuItem) obj;
if(item1==newItem) {
new Charon();
}else if (item1==openItem) {
chooser =new JFileChooser();
chooser.showOpenDialog(null);
file = chooser.getSelectedFile();
try {
FileInputStream f=new FileInputStream(file);
byte[] b = new byte [f.available()];
f.read(b);
area.append(new String(b));
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else if(item1 ==saveItem) {
chooser.showSaveDialog(null);
file = chooser.getSelectedFile();
}
try {
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream f1 = new FileOutputStream(file);
byte[] b=area.getText().getBytes();
f1.write(b);
f1.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}else if(item == closeItem) {
System.exit(1);
}
}
}
public class Pluto4 {
public static void main(String args[]) {
new Charon();
}
}
运行结果截图
实验总结:
这次的记事本我感觉还是挺难的,主要是在实现那几个功能的方面,其他的都用过。在这个记事本中,我没有用到图片,好像不太符合要求。在刚开始实现那几个功能键的时候,我都不会写,后来上网查了资料,看了书上的知识点,以及看了同学的代码,有一点懂了。但是还是得多练习。
学习总结
MySQL数据库
DriverManager类的常用方法
Connection接口的常用方法
(1)连接MySQL数据库: mysql -u 用户名 -p 密码
(2)创建数据库:CREATE DATABASE 数据库名称;
(3)删除数据库:DROP DATABASE 数据库名称;
(4)使用数据库:USE 数据库名称;
(5)创建数据库表:
CREATE TABLE 表名称(
字段名称1 字段类型[DEFAULT 默认值][约束],
字段名称2 字段类型[DEFAULT 默认值][约束],
...,
字段名称n 字段类型[DEFAULT 默认值][约束],
);
(6)删除数据库表:DROP TABLE 表名称;
(7)查看表结构:DESC 表名称 ;
(8)查看数据库信息
查看全部数据库:SHOW DATABASES ;
查看一个数据库的全部表:SHOW TABLES ;
SQL语法
(1)SQL分类
DML(Data Manipulation Language,数据操作语言)——用于检索或者修改数据。
DDL(Data Definition Language,数据定义语言)——用于定义数据的结构,如创建、修改或者删除数据库对象。
DCL(Data Control Language,数据控制语言)——用于定义数据库用户的权限。
(2)创建操作表
DROP TABLE user ; -- 删除数据库表
CREATE TABLE user
(
id INT AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(30) NOT NULL ,
password VARCHAR(32) NOT NULL ,
age INT NOT NULL ,
sex VARCHAR(2) DEFAULT '男' ,
birthday DATE
) ;
(3)MySQL中的数据类型
MySQL中的数据类型(1)
MySQL中的数据类型(2)
(4)增加数据
向表中增加数据,可以使用以下的语法:
INSERT INTO 表名称[(字段1,字段2,字段3,...,字段n)] VALUES (值1,值2,值3,...值n) ;
(5)删除数据
删除表中的数据,可以使用以下的语法:
DELETE FROM 表名称 [删除条件] ;
(6)更新数据
当需要修改数据表中的某些记录时,就可以使用UPDATE语句,语句格式如下:
UPDATE 表名称 SET 字段1=值1,....字段n=值1 [WHERE 更新条件] ;
(7)查询数据
简单查询语句格式
SELECT {*|column alias}
FROM 表名称 别名
[WHERE condition(s)] ; 设置查询条件
指定查询列
查询user表中的姓名和生日
SELECT name,birthday FROM user ;
模糊查询
查询姓名或密码中包含字母“m”的用户
SELECT * FROM user WHERE name LIKE '%m%' OR password LIKE '%m%' ;
LIMIT语句
以上的查询是将全部的数据都取了出来,如果现在要是想取出数据库表中的一部分数据的话,则在查询的最后加上一个LIMIT语句即可,此语句格式如下:
SELECT 字段 FROM 表 WHERE 条件 LIMIT 开始行,取出的数据个数;