java
Hai....
Sir.........
My java code is Pasted below....
In this code I want to show the selected file in the panel....
And
Also
I cannot insert values into database.........
But there is no error ....
Plz help me.....
package gui;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import javax.swing.JTextField;
import java.sql.*;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Images implements WindowListener, ActionListener {
Frame fr = new Frame("Image database");
// Label Label1 = new Label("Label1 ");
JTextField Field1 = new JTextField("", 20);
JPanel Panel1=new JPanel();
// JTextArea Panel=new JTextArea("",5,5);
Label Label1 = new Label("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n TEXTURE FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",Label.CENTER);
Label Label4 = new Label(" Energy ",Label.LEFT);
JTextField val1= new JTextField("",30);
Label Label5 = new Label(" Entropy ",Label.LEFT);
JTextField val4= new JTextField("",30);
Label Label6 = new Label(" Contrast ",Label.LEFT);
JTextField val5= new JTextField("",30);
Label Label7 = new Label(" Homogenity ",Label.LEFT);
JTextField val6= new JTextField("",30);
Label Label8 = new Label(" Correlation ",Label.LEFT);
JTextField val7= new JTextField("",30);
Label Label2 = new Label("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n COLOR FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ",Label.CENTER);
JTextField val2=new JTextField("",20);
Label Label3 = new Label("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n SHAPE FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",Label.CENTER);
JTextField val3=new JTextField("",20);
Button Button1 = new Button("Browse Image");
Button Button2 = new Button("Add into database");
Canvas Canvas1 = new Canvas();
FileDialog fd = new FileDialog(fr, "Open", FileDialog.LOAD);
FileReader fs = new FileReader(FileDescriptor.in);
Image Image1;
void initialize() {
fr.setSize(500, 500);
fr.setLocation(300, 300);
fr.setBackground(Color.GRAY);
fr.setLayout(new FlowLayout());
// fr.add(Label1);
fr.add(Field1);
fr.add(Button1);
fr.add(Panel1);
fr.add(Label1);
fr.add(Label4);
fr.add(val1);
fr.add(Label5);
fr.add(val4);
fr.add(Label6);
fr.add(val5);
fr.add(Label7);
fr.add(val6);
fr.add(Label8);
fr.add(val7);
fr.add(Label2);
fr.add(val2);
fr.add(Label3);
fr.add(val3);
fr.add(Button2);
Canvas1.setSize(1000, 1000);
fr.add(Canvas1);
fr.addWindowListener(this);
Button1.addActionListener(this);
Button2.addActionListener(this);
fr.show();
}
public void imageload() {
fd.show();
if (fd.getFile() == null) {
Field1.setText("You have not chosen any image files yet");
} else {
String d = (fd.getDirectory() + fd.getFile());
Field1.setText(fd.getDirectory() + fd.getFile());
// FileReader fs = new FileReader(null);
// Area1.read(fs, null);
Panel1.setBackground(Color.RED);
File image = new File(fd.getDirectory() + fd.getFile());
//loadImage(d);
}
}
public void paint(Graphics g) {
g.drawImage(Image1, 0, 0, 1000, 1000, Canvas1);
}
public void windowClosing(WindowEvent e) {
// Use fr.hide(); for subsequent forms in multi form applications
System.exit(0);
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
public void actionPerformed(ActionEvent event) {
Button b = (Button) event.getSource();
if (b == Button1) {
imageload();
} else {
System.out.println("hai");
Convertor();
//imageload();
}
}
public static void main(String args[]) {
Images a = new Images();
a.initialize();
}
private void Convertor() {
System.out.println("Creating a Mysql Table to Store Java Types!");
Connection con = null;
String url = "jdbc:mysql://localhost:3306/";
String db = "cbir";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "root";
try {
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url+db, user, pass);
try {
FileInputStream fis;
PreparedStatement psmnt = null;
File image = new File(fd.getDirectory() + fd.getFile());
String feature1 = val1.getText();
String feature4 = val4.getText();
String feature5 = val5.getText();
String feature6 = val6.getText();
String feature7 = val7.getText();
String feature2 = val2.getText();
String feature3 = val3.getText();
Statement st = con.createStatement();
/* BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter Database name:");
String database = bf.readLine();
st.executeUpdate("CREATE DATABASE " + database);
System.out.println("1 row(s) affacted");*/
// st.executeUpdate("USE" + database);
/*String datab = "CREATE DATABASE e";
st.executeUpdate(datab);
String use = "USE e";*/
String table = "CREATE TABLE enchancement(" /*+ "typ_boolean BOOL, "
+ "typ_byte TINYINT, "
+ "typ_short SMALLINT, "*/
+ "Energy VARCHAR(254), "
+ "Entropy VARCHAR(254), "
+ "Contrast VARCHAR(254), "
+ "Homogenity VARCHAR(254), "
+ "Correlation VARCHAR(254), "
+ "typ_string2 VARCHAR(254), "
/* + "typ_long BIGINT, "
+ "typ_float FLOAT, "
+ "typ_double DOUBLE PRECISION, "
+ "typ_bigdecimal DECIMAL(13,0), "*/
+ "typ_string3 VARCHAR(254), "
/* + "typ_date DATE, "
+ "typ_time TIME, "
+ "typ_timestamp TIMESTAMP, "
+ "typ_asciistream TEXT, "
+ "typ_binarystream LONGBLOB, "*/
+ "Image LONGBLOB)";
st.executeUpdate(table);
System.out.println(table);
// st.close();
/*FileInputStream fis = null;
File file = new File("D:/REMYA.jpg");
fis = new FileInputStream(file);
PreparedStatement ps = null;
ps.setBinaryStream(3, fis, (int) file.length());*/
/* String value = "INSERT INTO enchancement(typ_boolean,typ_byte,typ_short,typ_int,typ_long,typ_float,typ_double,typ_bigdecimal,typ_string,typ_date,typ_time,typ_timestamp,typ_asciistream,typ_binarystream,typ_blob) VALUES(" + "1, "
+ "1, "
+ "3, "
+ "43, "
+ "54, "
+ "34.3, "
+ "34.45, "
+ "54, "
+ "'rrr', "
+ "'22/12/1986', "
+ "'', "
+ "22, "
+ "'fff', "
+ ", "
+ ")";
`
st.executeUpdate(value);*/
// Connection con = getConnection();
//String value = "INSERT INTO enchancement(typ_boolean,typ_byte,typ_short,typ_int,typ_long,typ_float,typ_double,typ_bigdecimal,typ_string,typ_date,typ_time,typ_timestamp,typ_asciistream,typ_binarystream,typ_blob) VALUES(1,1,3,43,54,34.3,34.45,54,'rrr','22/12/1986','',22,'fff','')";
// String value = "INSERT INTO enchancement(typ_int,typ_string,typ_blob) VALUES(1,'rrr','REMYA.jpg')";
psmnt = con.prepareStatement("INSERT INTO enchancement(Energy,Entropy,Contrast,Homogenity,Correlation,typ_string2,typ_string3,Image)"+" VALUES('"+feature1+"','"+feature4+"','"+feature5+"','"+feature6+"','"+feature7+"','"+feature2+"','"+feature3+"',?)");
fis = new FileInputStream(image);
psmnt.setBinaryStream(8, (InputStream)fis, (int)(image.length()));
// st = con.createStatement();
psmnt.executeUpdate();
/* int s = psmnt.executeUpdate();
if(s>0) {
System.out.println("Uploaded successfully !");
}
else {
System.out.println("unsucessfull to upload image.");
}*/
// st.executeUpdate(value);
st.close();
// ResultSet rs = st.executeQuery("SELECT * from enchancement");
//ystem.out.println(rs);
con.close();
} catch (SQLException s) {
System.out.println("Table is all ready exists!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
View Answers
April 7, 2010 at 4:42 PM
Hi Friend,
Try the following code:
import java.io.*;
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.ImageIO;
public class Images {
File file;
Images(){
JFrame f = new JFrame("Frame in Java Swing");
f.getContentPane().setLayout(null);
final JTextField text = new JTextField("", 20);
JLabel JLabel1 = new JLabel("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n TEXTURE FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",JLabel.CENTER);
JLabel JLabel4 = new JLabel(" Energy ");
final JTextField val1= new JTextField("",30);
JLabel JLabel5 = new JLabel(" Entropy ");
final JTextField val4= new JTextField("",30);
JLabel JLabel6 = new JLabel(" Contrast ");
final JTextField val5= new JTextField("",30);
JLabel JLabel7 = new JLabel(" Homogenity ");
final JTextField val6= new JTextField("",30);
JLabel JLabel8 = new JLabel(" Correlation ");
final JTextField val7= new JTextField("",30);
JLabel JLabel2 = new JLabel("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n COLOR FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ",JLabel.CENTER);
final JTextField val2=new JTextField("",20);
JLabel JLabel3 = new JLabel("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n SHAPE FEATURES \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",JLabel.CENTER);
final JTextField val3=new JTextField("",20);
JButton Button1 = new JButton("Browse");
JButton Button2 = new JButton("Add into database");
final JLabel l=new JLabel();
text.setBounds(10,10,120,20);
Button1.setBounds(140,10,100,20);
l.setBounds(250,10,100,20);
JLabel1.setBounds(10,50,200,15);
JLabel4.setBounds(10,90,200,20);
val1.setBounds(90,90,120,20);
JLabel5.setBounds(10,130,200,20);
val4.setBounds(90,130,120,20);
JLabel6.setBounds(10,170,200,20);
val5.setBounds(90,170,120,20);
JLabel7.setBounds(10,210,200,20);
val6.setBounds(90,210,120,20);
JLabel8.setBounds(10,250,200,20);
val7.setBounds(90,250,120,20);
JLabel2.setBounds(10,290,200,15);
val2.setBounds(10,330,120,20);
JLabel3.setBounds(10,370,200,15);
val3.setBounds(10,410,120,20);
Button2.setBounds(90,450,200,20);
f.setSize(500, 500);
f.setBackground(Color.GRAY);
f.add(text);
f.add(Button1);
f.add(l);
f.add(JLabel1);
f.add(JLabel4);
f.add(val1);
f.add(JLabel5);
f.add(val4);
f.add(JLabel6);
f.add(val5);
f.add(JLabel7);
f.add(val6);
f.add(JLabel8);
f.add(val7);
f.add(JLabel2);
f.add(val2);
f.add(JLabel3);
f.add(val3);
f.add(Button2);
f.setVisible(true);
Button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter(new ImageFileFilter());
final int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
file = chooser.getSelectedFile();
String path=file.getPath();
text.setText(path);
l.setIcon(new ImageIcon(path));
}
}
});
April 7, 2010 at 4:43 PM
continue..
Button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String feature1 = val1.getText();
String feature4 = val4.getText();
String feature5 = val5.getText();
String feature6 = val6.getText();
String feature7 = val7.getText();
String feature2 = val2.getText();
String feature3 = val3.getText();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:
mysql://localhost:3306/register";, "root", "root");
PreparedStatement st = con.prepareStatement("insert into enhancement values(?,?,?,?,?,?,?,?)");
FileInputStream fis = new FileInputStream(file);
st.setString(1,feature1);
st.setString(2,feature4);
st.setString(3,feature5);
st.setString(4,feature6);
st.setString(5,feature7);
st.setString(6,feature2);
st.setString(7,feature3);
st.setBinaryStream(8, (InputStream)fis, (int)(file.length()));
int s = st.executeUpdate();
JOptionPane.showMessageDialog(null,"Data is successfully inserted.");
}
catch(Exception ex){}
}
});
}
public static void main(String args[]) {
Images img=new Images();
}
}
class ImageFileFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
if (file.isDirectory()) return false;
String name = file.getName().toLowerCase();
return (name.endsWith(".jpg") || name.endsWith(".png")|| name.endsWith(".gif"));
}
public String getDescription() { return "Images (*.gif,*.bmp, *.jpg, *.png )"; }
}
For the above code, we have created database table enhancement:
CREATE TABLE `enhancement` (
`Energy` varchar(255) default NULL,
`Entropy` varchar(255) default NULL,
`Contrast` varchar(255) default NULL,
`Homogenity` varchar(255) default NULL,
`Correlation` varchar(255) default NULL,
`typ_string2` varchar(255) default NULL,
`typ_string3` varchar(255) default NULL,
`image` longblob
)
Thanks