Langsung ke konten utama

CARA UPLOAD FOTO KE JAVA NETBEANS

Berawal dari beberapa teman yang menanyakan apakah bisa upload foto ke Java NetBeans ?, disitu saya penasaran sehingga mulai googling... ada sih hasilnya tapi kebanyakan itu caranya yang ga biasa saya gunakan, alhasil di kulik kulik deh agar sesuai sama cara yang biasa saya gunakan.

Disini saya mau share aja mengenai upload foto ke Java NetBeans dengan cara yang biasa saya gunakan, ya mungkin aja cara yang biasa saya gunakan adalah cara yang biasa teman-teman gunakan juga.
Langsung saja ke programnya ya.
Disini saya akan membuat contoh program mengenai data mahasiswa.


Pertama-tama..

buat tabel pada database, disini saya menggunakan DBMS MySQL.

Ini adalah Contoh Struktur Tabel Databasenya

selanjutnya buat project baru dengan nama mhs di NetBeans, saat ini saya menggunakan NetBeans IDE versi 8.0.1
Buat Struktur Project Seperti ini :





Jangan lupa tambahkan libraries yang dibutuhkan.

Tulis sintaks berikut di dalam class Mhs.java
public class Mhs {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        new mhs().setVisible(true);
    }
   
}
 

Tulis sintaks berikut di dalam class koneksi.java
public class koneksi {
    private static Connection koneksi;
   
    public static Connection getKoneksi() {
        if (koneksi == null) {
            try {
                String url = "jdbc:mysql://localhost/NamaDatabase";
                String username = "root";
                String pass = "";
               
                DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                koneksi = DriverManager.getConnection(url, username, pass);
            } catch (Exception e) {
                System.out.println(e);
            }
        }return koneksi;
    }
   
}



Desain Form mhs.java menjadi seperti ini :

lalu ubah nama textfield, button, label, dan tabel menjadi seperti ini :

Tambahkan kedalam source sintaks seperti ini :

Buat method kosong() dan datatable() sebagai berikut :
protected void kosong(){
        txtnpm.setText(null);
        txtnama.setText(null);
        txtprodi.setText(null);
        txtfakultas.setText(null);
        txtfoto.setText(null);
        labelfoto.setIcon(null);
    }



protected void datatable(){
        Object[]Baris ={"NPM", "Nama Mahasiswa", "Program Studi", "Fakultas","Foto"};
        tabmode = new DefaultTableModel(null, Baris);
        tabel.setModel (tabmode);
        String sql="select * from mahasiswa";
        try{
            Connection con = koneksi.getKoneksi();
            java.sql.Statement stat = con.createStatement();
            ResultSet hasil = stat.executeQuery(sql);
            while(hasil.next()){
                String a = hasil.getString("npm");
                String b = hasil.getString("nama");
                String c = hasil.getString("prodi");
                String d = hasil.getString("fakultas");
                String e = hasil.getString("foto");

                String[] data={a,b,c,d,e};
                tabmode.addRow(data);
            }
        }catch (Exception e){
    }
    } 


buat method carigambar() seperti ini :
 protected void carigambar(){
            fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        fc.setFileFilter(new FileNameExtensionFilter("jpg|png|bmp|jpeg|", "jpg", "png", "jpeg", "bmp"));
        if (fc.showOpenDialog(txtfoto) == JFileChooser.APPROVE_OPTION) {

            Toolkit toolkit = Toolkit.getDefaultToolkit();
            Image image = toolkit.getImage(fc.getSelectedFile().getAbsolutePath());
            Image imagedResized = image.getScaledInstance(200, 200, Image.SCALE_DEFAULT);
            ImageIcon imageIcon = new ImageIcon (imagedResized);

            labelfoto.setIcon(imageIcon);
            txtfoto.setText(fc.getSelectedFile().getName());

            file = new File (fc.getSelectedFile().getPath());
        }
        }

method ini berfungsi untuk mencari gambar yang ada di dalam komputer kita, lalu menampilkan gambarnya pada labelfoto dan menampilkan nama filenya ke dalam txtfoto.

setelah itu buat method simpan() untuk menyimpan data ke dalam database
 protected void simpan (){
            try{
            String path=new File(".").getCanonicalPath();
            FileUtils.copyFileToDirectory(file, new File(path+"/image/"));
        }catch(IOException ex){
            Logger.getLogger(mhs.class.getName()).log(Level.SEVERE, null, ex);
        }
        String sql = "insert mahasiswa values(?,?,?,?,?)";
        try{
            Connection con = koneksi.getKoneksi();
            PreparedStatement stat = con.prepareStatement(sql);
            stat.setString(1, txtnpm.getText());
            stat.setString(2, txtnama.getText());
            stat.setString(3, txtprodi.getText());
            stat.setString(4, txtfakultas.getText());
            stat.setString(5, txtfoto.getText());
            stat.executeUpdate();
            JOptionPane.showMessageDialog(null,"Data Berhasil Disimpan");
            stat.close();
            txtnpm.requestFocus();
            datatable();
            kosong();
        }catch (SQLException e){
            JOptionPane.showMessageDialog(null, "Data Gagal Disimpan"+e);
        }
        }


lalu buat method kliktabel() seperti ini :
 protected void kliktabel(){
            try {
            int bar = tabel.getSelectedRow();
            String a = tabmode.getValueAt(bar, 0).toString();
            String b = tabmode.getValueAt(bar, 1).toString();
            String c = tabmode.getValueAt(bar, 2).toString();
            String d = tabmode.getValueAt(bar, 3).toString();
            String e = tabmode.getValueAt(bar, 4).toString();

            txtnpm.setText(a);
            txtnama.setText(b);
            txtprodi.setText(c);
            txtfakultas.setText(d);
            txtfoto.setText(e);
            Toolkit toolkit = Toolkit.getDefaultToolkit();
            String path=new File(".").getCanonicalPath();
            Image image = toolkit.getImage(path+"/image/"+e);
            Image imagedResized = image.getScaledInstance(200, 200, Image.SCALE_DEFAULT);
            ImageIcon imageIcon = new ImageIcon (imagedResized);

            labelfoto.setIcon(imageIcon);
        } catch (IOException ex) {
            Logger.getLogger(mhs.class.getName()).log(Level.SEVERE, null, ex);
        }
        }

method kliktabel berfungsi untuk dapat menampilakan data yang ada didalam tabel kedalam textfield maupun label.

Tambahkan method datatable() dibawah initComponents() agar pada saat program dijalankan maka data yang ada didalam tabel akan langsung tampil tanpa harus melakukan aksi apapun
 

Tambahkan Event actionPerformed pada Button Simpan :

lalu panggil method simpan() seperti ini :
 private void bSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        simpan();
    }




Tambahkan Event actionPerformed pada button Browse dan panggil method carigambar() seperti ini :
private void bSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        simpan();
    }


Tambahkan Event MouseClicked pada tabel:

lalu panggil method kliktabel() seperti ini :
private void tabelMouseClicked(java.awt.event.MouseEvent evt) {                                  
            // TODO add your handling code here:
        kliktabel();
    }


Tambahkan Event actionPerformed pada button Batal dan panggil method kosong() seperti ini :
private void bBatalActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        kosong();
    }


jangan lupa untuk membuat folder image di directory project, sebagai tempat penyimpanan gambar pada directory.


Jalankan Programnya dan Hasilnya akan seperti ini :

Sekian artikel dari saya, semoga bermanfaat buat teman-teman semua.
maaf ya kalo penjelasannya kurang baik,, ya karena ini artikel pertama saya hahaha.
Jika ingin programnya bisa dikunjungi LINK ini.


 
 



Komentar