mysql与jframe_java-如何在JFrame上显示从mysql检索到的图像
我在顯示從JFrame的數據庫檢索的圖像時遇到問題.這是我將要使用的
??????……
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/studio","root","");
Statement st=con.createStatement();
ResultSet rs = st.executeQuery( "select image from photo_instn where cust_id='2'") ;
while(rs.next())
{
byte[] imagedata = rs.getBytes("image") ;
Image img = Toolkit.getDefaultToolkit().createImage(imagedata);
ImageIcon icon =new ImageIcon(img);
JLabel lPhoto = new JLabel(icon) ;
setLayout(null); // BYTES TO IMAGE
System.out.println("Inside");
System.out.println(lPhoto);
this.add(lPhoto) ;
lPhoto.setBounds(200,20,300,400);
}
}
此代碼沒有問題.但是圖像未顯示在框架上…
請幫助我解決這個問題….
最佳答案
import java.awt.*;
import java.sql.*;
import javax.swing.*;
public class DisplayImage extends JFrame {
Connection connection = null;
PreparedStatement statement = null;
ResultSet result;
public DisplayImage() {
super("Image Display");
setSize(600, 600);
connection = getConnection();
try { // table name:image and second image is field name
statement = connection
.prepareStatement("select image from image where id = 1");
result = statement.executeQuery();
byte[] image = null;
while (result.next()) {
image = result.getBytes("image");
}
Image img = Toolkit.getDefaultToolkit().createImage(image);
ImageIcon icon = new ImageIcon(img);
JLabel lPhoto = new JLabel();
lPhoto.setIcon(icon);
add(lPhoto);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setVisible(true);
}
public Connection getConnection() {
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(
// user name:root and password:blank
"jdbc:mysql://localhost:3306/insertRetriveImages", "root",
"");
} catch (Exception e) {
System.out.println("Error Occured While Getting the Connection: - "
+ e);
}
return connection;
}
public static void main(String[] args) {
new DisplayImage();
}
}
總結
以上是生活随笔為你收集整理的mysql与jframe_java-如何在JFrame上显示从mysql检索到的图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿达帕林多少钱啊?
- 下一篇: mysql sum很慢,可以在MySQL