Java - JLabel + Blob = no imagen. URGENTE

 
Vista:

JLabel + Blob = no imagen. URGENTE

Publicado por Alejandro (1 intervención) el 28/02/2010 00:05:34
Miren tengo que leer una imagen desde una base de datos y mostrarla, pero no me sale nada.

Muchas gracias.

Aqui posteo el codigo:

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;

public class Principal extends JFrame {
JLabel tuser,tpass,jlImage;
String usuario,contra;
JTextField user=new JTextField();
JPasswordField pass=new JPasswordField();
JButton conectar,mostrar;
JTextArea log=new JTextArea();
JComboBox color;
Connection conn;

public Principal() {
try {
JPanel p=new JPanel();
p.setLayout(null);
setSize(350,275);

jlImage=new JLabel();
tuser=new JLabel("UserID:");
tpass=new JLabel("Password:");
conectar=new JButton("Connect");
color=new JComboBox();
mostrar=new JButton("Show it!");

tuser.setBounds(15, 15, 45, 20);
user.setBounds(70, 15, 75, 20);
tpass.setBounds(170, 15, 70, 20);
pass.setBounds(240, 15, 75, 20);
conectar.setBounds(15,50,90,30);
log.setBounds(110, 45, 210, 40);
color.setBounds(15, 100, 80, 30);
mostrar.setBounds(100,100,80,30);
jlImage.setBounds(200,150,500,500);


p.add(jlImage);
p.add(tuser);
p.add(user);
p.add(tpass);
p.add(pass);
p.add(conectar);
p.add(mostrar);
p.add(log);
p.add(color);

conectar.addActionListener(new Accionboton());
mostrar.addActionListener(new Accionboton());
mostrar.setEnabled(false);

Container contentPane = getContentPane();
contentPane.add(p);


} catch (Exception e) {
e.printStackTrace();
}
}
class Accionboton implements ActionListener{
public void actionPerformed(ActionEvent arg0) {

if(arg0.getSource()==conectar)
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try{
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:DATOS06",user.getText(),pass.getText());
log.setText("Conectado");
Statement stmt=conn.createStatement();
String conexion="select distinct color from colores";
ResultSet res=stmt.executeQuery(conexion);
mostrar.setEnabled(true);
usuario=user.getText();
contra=pass.getText();
conectar.setEnabled(false);
while(res.next())
{
color.addItem(res.getString(1));
}
stmt.close();
conn.close();
} catch (SQLException e) {
mostrar.setEnabled(false);
color.removeAllItems();
log.setText("Error al conectar");
}
} catch (Exception e) {
color.removeAllItems();
mostrar.setEnabled(false);
log.setText("Error del driver");
}
}
else
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try{
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:DATOS06",usuario,contra);
//Statement stmt1=conn.createStatement();
//res=stmt1.executeQuery("select distinct color from colores");
Statement stmt=conn.createStatement();
//stmt.setString(1,(String)color.getSelectedItem());
//String conexion="select distinct color from colores";
ResultSet res=stmt.executeQuery("select CBlob,color from colores where color='"+(String)color.getSelectedItem()+"'");
mostrar.setEnabled(true);
usuario=user.getText();
contra=pass.getText();
conectar.setEnabled(false);

Blob aux;
String auxs;
while(res.next())
{
aux=(oracle.sql.BLOB)res.getBlob(1);
auxs=res.getString(2);
int tam=(int) aux.length();

ImageIcon imagen=new ImageIcon(aux.getBytes(1, tam));
//ImageIcon imagen=new ImageIcon("azul.jpg");
jlImage.setIcon(new javax.swing.ImageIcon(getClass().getResource("azul.GIF")));
//jlImage.setMargin(new Insets(0,0,0,0));
jlImage.setIconTextGap(0);
//jlImage.setBorderPainted(false);
jlImage.setBorder(null);
jlImage.setText(null);
jlImage.setSize(imagen.getImage().getWidth(null), imagen.getImage().getHeight(null));
}

stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder