资源简介

一共有三层,页面,action和dao层,比较简单不分包了,直接放在在一个包里;还有一些封装,需要的就自己封装了,这个只是简单的展示; 使用的是Swing组件和io流; 使用上传功能获取路径(我这边的是直接指定的,一般是从页面层获取的),然后传到dao层 然后通过dao层将二进制流写到数据库中(附上数据库); 点击下载功能,从数据库中获取二进制流,然后将二进制流转换为图片类型,再在页面层显示; 具体的看各个类;

资源截图

代码片段和文件信息

package Photo;

import java.awt.Color;

import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;

/**
 * 
 * 主面板 ,有一个Jlabel和两个按钮,上传和下载;
 *  Jlbel用于点击下载时显示数据库的图片文件,
 * 
 */
public class Photo extends Jframe {
/**
 * 
 */
private static final long serialVersionUID = 1L;
JLabel lab = new JLabel();
photoAction l = new photoAction(this);// 建立Action层,并把页面层的对象传过去

public Photo() {
init();
}

public static void main(String[] args) {
new Photo();
}

private void init() {
lab.setBounds(100 200 300 233);
lab.setBorder(BorderFactory.createLineBorder(Color.black));
this.add(lab);

// 添加两个button(可以封装)
JButton jb = new JButton(“上传“);
jb.setBounds(50 600 80 30);
this.add(jb);
JButton jb1 = new JButton(“下载“);
jb1.setBounds(150 600 80 30);
this.add(jb1);

// 添加监听
jb.addActionListener(l);
jb1.addActionListener(l);

// 初始化页面
setSize(700 700);
settitle(“Login“);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(null);
setResizable(false);
setVisible(true);

}

/**
 * 设置JLabel图片
 * 
 * @param i  Icon图片类型
 */

public void setLabel(Icon i) {
lab.setIcon(i);

}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1400  2013-09-11 23:10  Photo\Photo.java

     文件        603  2013-09-11 23:10  Photo\photoAction.java

     文件       2744  2013-09-11 23:09  Photo\photoDao.java

     文件        623  2013-09-11 22:51  Photo\Readme

     文件         95  2013-09-11 22:32  Photo\sql

     目录          0  2013-09-11 23:11  Photo

----------- ---------  ---------- -----  ----

                 5465                    6


评论

共有 条评论