第十四周课程总结

  • JDBC:
    Java DataBase Connectivity 即java数据库连接。
    jdbc是oracle公司指定的一套规范(一套接口)

  • 驱动:jdbc的实现类.由数据库厂商提供.
    ps :我们可以使用厂商提供的jar例如mysql的jar包mysql-connector-java-5.1.39-bin.jar(随便下了一个版本的jar)来操作(通过jar包内的api)数据库

  • 提供商 例如mysql提供了mysql的jar包,oracle 提供了oracle的jar包
    (使用不同的jar包提供的api 就可以操作不同的数据库)

所以我们总结了jdbc 的功能:
1 连接数据库
2 发送sql语句
3 处理结果

记事本

```

package demo01;

import java.awt.Font;
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.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class Test {

public Test() {

final JFrame j = new JFrame("记事本");

final JTextArea text = new JTextArea();
text.setEditable(true);
j.getContentPane().add(new JScrollPane(text));
// 设置菜单栏
JMenu menuFile = new JMenu("文件");
JMenuBar menuBar = new JMenuBar();
menuBar.add(menuFile);
j.setJMenuBar(menuBar);

JMenu help = new JMenu("帮助");
JMenuBar menuBar2 = new JMenuBar();
menuBar.add(help);
j.setJMenuBar(menuBar);
// 设置菜单项

JMenuItem newItem = new JMenuItem("新建(N)");
menuFile.add(newItem);
newItem.setMnemonic('N');
newItem.setAccelerator(KeyStroke.getKeyStroke('N',
java.awt.Event.CTRL_MASK));

JMenuItem openItem = new JMenuItem("打开(O)");
menuFile.add(openItem);
openItem.setMnemonic('O');
openItem.setAccelerator(KeyStroke.getKeyStroke('O',
java.awt.Event.CTRL_MASK));

JMenuItem saveItem = new JMenuItem("保存(S)");
menuFile.add(saveItem);
saveItem.setMnemonic('S');
saveItem.setAccelerator(KeyStroke.getKeyStroke('S',
java.awt.Event.CTRL_MASK));

JMenuItem saveToItem = new JMenuItem("另存为.. ");
menuFile.add(saveToItem);

menuFile.addSeparator();

JMenuItem closeItem = new JMenuItem("退出(X)");
menuFile.add(closeItem);
closeItem.setMnemonic('X');

JMenuItem aboutItem = new JMenuItem("关于记事本(A)");
help.add(aboutItem);
aboutItem.setMnemonic('A');

// 事件监听
newItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.setText("");
}
});
openItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
File file = null;
int result = 0;
JFileChooser filechooser = new JFileChooser();
text.setText("");
filechooser.setApproveButtonText("确定");
filechooser.setDialogTitle("打开文件");
result = filechooser.showOpenDialog(j);// 显示打开文件窗口
if (result == JFileChooser.APPROVE_OPTION) {// 确定
file = filechooser.getSelectedFile();// 得到选择的文件对象
}
if (file != null) {
try {
Scanner sc = new Scanner(new FileInputStream(file));
sc.useDelimiter(" ");
while (sc.hasNext()) {
text.append(sc.next());
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}

}
});
saveItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
File file = null;
int result = 0;
JFileChooser filechooser = new JFileChooser();
filechooser.setApproveButtonText("确定");
filechooser.setDialogTitle("保存文件");
result = filechooser.showSaveDialog(j);// 显示保存文件窗口
if (result == JFileChooser.APPROVE_OPTION) {// 确定
file = filechooser.getSelectedFile();// 得到选择的文件对象
}
if (file != null) {
try {
PrintStream out = new PrintStream(new FileOutputStream(
file));
out.print(text.getText());
out.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}

}
});
saveToItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

}
});
closeItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
aboutItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFrame j1 = new JFrame("关于记事本");
JLabel lab=new JLabel("developer:zyz",JLabel.CENTER);
Font font=new Font("arial",Font.ITALIC+Font.BOLD,28);
lab.setFont(font);
j1.add(lab);
j1.setSize(300, 200);
j1.setLocation(350,350);
j1.setResizable(false);
j1.setVisible(true);

}
});

j.setSize(400, 300);
j.setLocation(300, 300);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setVisible(true);

}

}

```

```

package demo01;

public class Main {

public static void main(String[] args) {

Test t=new Test();

}

}

```

原文地址:https://www.cnblogs.com/y6666/p/11959208.html