学习总结
制作一个记事本:
改进地方:图片显示和功能处理。
代码:
package Txjm;
import javax.swing .*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo4 extends JFrame implements ActionListener{
JFrame frame;
JTextArea area;
JScrollPane scr;
JMenuBar bar;
JMenu menu;
JMenuItem newItem , openItem, saveItem ,closeItem,exitItem;
ImageIcon newIcon, openIcon,saveIcon,closeIcon,exitIcon;
JFileChooser chooser;
File file;
FileInputStream fis;
FileOutputStream fos;
public Demo4() {
frame = new JFrame("记事本");
area = new JTextArea();
scr = new JScrollPane(area);
newIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"F.JPG");
openIcon= new ImageIcon("C:"+File.separator+"photo"+File.separator+"T.JPG");
saveIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"X.JPG");
closeIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"O.JPG");
exitIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"M.JPG");
bar = new JMenuBar();
menu = new JMenu("文件");
newItem = new JMenuItem("新建",newIcon);
openItem = new JMenuItem("打开",openIcon);
saveItem = new JMenuItem("另存为",saveIcon);
closeItem= new JMenuItem("关闭",closeIcon);
exitItem = new JMenuItem("退出",exitIcon);
area.setEditable(true);
frame.getContentPane().add(scr);
newItem.setMnemonic('N');
openItem.setMnemonic('O');
closeItem.setMnemonic('C');
exitItem.setMnemonic('E');
newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
closeItem.addActionListener(this);
exitItem.addActionListener(this);
menu.add(newItem);
menu.add(openItem);
menu.add(saveItem);
menu.add(closeItem);
menu.add(exitItem);
bar.add(menu);
frame.addWindowListener(new MyWindowAdapter());
frame.setJMenuBar(bar);
frame.setSize(600, 500);
frame.setLocation(300,200);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
file =null;
Object obj = e.getSource();
if(obj instanceof JMenuItem) {
JMenuItem item = (JMenuItem)obj;
if(item == newItem) {
new Demo4();
}else if(item == openItem) {
chooser = new JFileChooser();
chooser.showSaveDialog(null);
file = chooser.getSelectedFile();
try {
fis = new FileInputStream(file);
byte[] b = new byte[fis.available()];
fis.read(b);
String str = new String(b);
area.append(str);
fis.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}else if(item == saveItem) {
chooser = new JFileChooser();
chooser.showSaveDialog(null);
file = chooser.getSelectedFile();
try {
if(!file.exists()) {
file.createNewFile();
}
fos = new FileOutputStream(file);
byte[] b = area.getText().getBytes();
fos.write(b);
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}else if(item == closeItem){
System.exit(1);
}
}
}
}
package Txjm;
public class Demo3 {
public static void main(String[] args) {
new Demo4 ();
}
}
package Txjm;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyWindowAdapter extends WindowAdapter{
public void WindowClosing(WindowEvent arg0) {
System.exit(1);
}
}
遇到问题
(1)我想要显示的图片传不上去
解决办法:最后发现文件名错误导致搜索不到图片。
(2)图片显示过大,画面不协调。
解决办法:点击编辑,按比例调小。
(3)无法截图,拍照后博客园后台加载不了。
解决办法:先用照片方式传到电脑,截图照片保存。
错误反思:最近发现写的代码没有保存好,有的找不到,有的直接删了,所以在重新写时出现了有些问题。
JDBC驱动分类
类型1:JDBC-ODBC桥驱动
类型2:JDBC本地驱动
类型3:JDBC网络驱动
类型4:本地协议纯JDBC驱动
JDBC的基本操作中最常用的类和接口是DriverManger,Connection,Statement,Result,PreparedStatement.
MYSQL数据库
<font color=#000000 size=4>连接MySQL数据库
mysql -u 用户名 -p 密码</font>
创建数据库
创建:CREATE DATABASE 数据库名称
删除:DROP DATABASE 数据库名称
创建数据库表
CREATE TABLE 表名称{
字段名称1 字段类型 [DEFAULT 默认值][约束],
字段名称2 字段类型 [DEFAULT 默认值][约束],
...,
字段名称n 字段类型 [DEFAULT 默认值][约束],
};
查看表结构
DESC 表名称
查看数据库的全部表
查看全部数据库:SHOW DATEBASE;
查看一个数据库的全部表:SHOW TABLES;