資源簡介
一共有三層,頁面,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
評論
共有 條評論