Tutorial Java - Memindahkan Field Data Menggunakan Combo Box Di Java Netbeans

Apa itu JcomboBox, sebuah JComboBox, yang memungkinkan pengguna memilih salah satu dari beberapa pilihan, dapat memiliki dua bentuk yang sangat berbeda. Bentuk default adalah kotak kombo bisa diedit, yang menampilkan sebuah tombol dan drop-down daftar nilai. Bentuk kedua, yang disebut kotak kombo yang dapat diedit, fitur kolom teks dengan tombol kecil. Pengguna dapat mengetik nilai pada kolom teks atau klik tombol untuk menampilkan daftar drop-down.

Kali ini saya akan membuat sebuah studi kasus seperti ini.
Membuat pilihan kota dengan JcomboBox, jika kota asal terpilih, kemudian saat menekan tombol Pindahkan>> isinya akan dipindahkan ke kotak Kota dipindahkan. Berarti ketika isinya kotak asal dihapus satu dan ditambahkan ke kota Kota pindahan, seperti terlihat pada gambar berikut :


Buat project baru. Terserah mau kasih nama apa aja, kalo saya disini membuat project baru dengan nama Belajar

Kemudian saya membuat class baru dengan nama pindah.java



Buatlah desain seperti berikut:

Saya menggunakan component berikut


 Waktunya masuk pada bagian source codenya


Saya sengaja yang kali ini tidak copy paste source biar teman-teman bisa mandiri.

Jika sudah jalankan shift+f6

Maka tampilan awal yang didapatkan seperti berikut.


Selanjutnya coba lakukan pindah data dengan mengklik Pindahkan>>


Semoga bermafaat!

Tutorial Java - Membuat Aplikasi Login Sederhana Menggunakan Java Netbeans


Langsung saja buka netbeans kalian, kemudian buat project baru beri nama login


Selanjutnya kita buat form untuk tampilan loginnya. Klik kanan pada package login new >> Jframe Form..


Disini saya memberi nama class nya adalah awal.



 Plih design, selanjutnya drag n drop label yang seperti pada gambar, gunanya disini untuk memberikan keterangan.


Buat seperti ini


Selanjutnya drag n drop text field dan password field


Selanjutnya membuat tombol login dan close


Kemudian buat tampilan seperti berikut:


Disini saya ingin mempecantik tampilan dari login itu sendiri, pertama-tama pilih panel dan letakkan pada design kita atur hingga seperti ini


Selanjutnya klik kanan pada panel dan pilih properties


Pilih border kemudian edit seperti berikut


Kalau sudah OK.

Maka tampilan yang didapat akan timbul seperti ini dan ada tulisannya LOGIN


Selanjutnya buat lagi Jframe Form baru seperti langkah tadi, gunakan nama menu

Buat tampilan seperti berikut ini


Sekarang waktunya membuat scriptnya, kita kembali ke form awal,java klik 2x kali pada tombol login.

Masukkan script berikut.

private void loginActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        String User="Admin";
        String Pass="123456789";
        String cUser= user.getText();
        String cPass= String.valueOf(pass.getPassword());
       
        if ((cUser.compareTo(User)==0)&&(cPass.compareTo(Pass)==0)) {
            new menu().setVisible(true);
            dispose();
        }
        else {
            JOptionPane.showMessageDialog(this,"User atau Password yang anda masukkan salah");
            user.setText("");
            pass.setText("");
        }
}

                         
Penjelasan:
Di awal kita membuat sebuah String User dan Pass, itu digunakan untuk login yang dimana Username nya adalah Admin dan Passwordnya adalah 123456789
Jika user dan password yang diisikan sama dan benar maka akan diarahkan masuk ke form menu 
Jika tidak makan akan keluar koment dialog ,"User atau Password yang anda masukkan salah"

Selanjutnya tambakan script untuk closenya, sama seperti tadi klik 2x kali pada tombol close, kemudian masukkan script berikut:
private void closeActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        dispose();

}



Sekarang waktunya uji coba

Tampilan saat mau program aplikasi dijalankan, kemudian masukkan Usernamenya Admin dan Passwordnya 123456789


Jika berhasil maka kita akan diarahkan ke form menu.java seperti berikut


Semoga Bermanfaat!

Tutorial Java - Membuat Nomor Pada Jtable di Netbeans


jika anda bekerja dengan jtabel ada kalanya anda ingin menambahkan nomor pada jtabel anda tenyata ada cara yang cukup mudah yaitu dengan membuat sebuah class row number yang berfungsi untuk menambahkan row pada jscrollpanel kita :

  1. buat class baru dengan nama RowNumberTable.java  
  2. kemudian isi dengan baris berikut
  3. package lib;
    import java.awt.*;
    import java.awt.event.*;
    import java.beans.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    /*
     * Use a JTable as a renderer for row numbers of a given main table.
     *  This table must be added to the row header of the scrollpane that
     *  contains the main table.
     */
    public class RowNumberTable extends JTable
    implements ChangeListener, PropertyChangeListener, TableModelListener {
    private JTable main;
    public RowNumberTable(JTable table) {
    main = table;
    main.addPropertyChangeListener( this );
    main.getModel().addTableModelListener( this );
    setFocusable( false );
    setAutoCreateColumnsFromModel( false );
    setSelectionModel( main.getSelectionModel() );
    TableColumn column = new TableColumn();
    column.setHeaderValue(" ");
    addColumn( column );
    column.setCellRenderer(new RowNumberRenderer());
    getColumnModel().getColumn(0).setPreferredWidth(50);
    setPreferredScrollableViewportSize(getPreferredSize());
    }

    @Override
    public void addNotify(){
    super.addNotify();
    Component c = getParent();
    //  Keep scrolling of the row table in sync with the main table.
    if (c instanceof JViewport){
    JViewport viewport = (JViewport)c;
    viewport.addChangeListener( this );
    }
    }
    /*
    *  Delegate method to main table
    */
    @Override
    public int getRowCount(){
    return main.getRowCount();
    }
    @Override
    public int getRowHeight(int row){
    int rowHeight = main.getRowHeight(row);
    if (rowHeight != super.getRowHeight(row)){
    super.setRowHeight(row, rowHeight);
    }
    return rowHeight;
    }
    /*
    *  No model is being used for this table so just use the row number
    *  as the value of the cell.
    */
    @Override
    public Object getValueAt(int row, int column){
    return Integer.toString(row + 1);
    }
    /*
    *  Don't edit data in the main TableModel by mistake
    */
    @Override
    public boolean isCellEditable(int row, int column){
    return false;
    }
    /*
    *  Do nothing since the table ignores the model
    */
    @Override
    public void setValueAt(Object value, int row, int column) {}
    //
    //  Implement the ChangeListener
    //
    public void stateChanged(ChangeEvent e){
    //  Keep the scrolling of the row table in sync with main table
    JViewport viewport = (JViewport) e.getSource();
    JScrollPane scrollPane = (JScrollPane)viewport.getParent();
    scrollPane.getVerticalScrollBar().setValue(viewport.getViewPosition().y);
    }
    //
    //  Implement the PropertyChangeListener
    //
    public void propertyChange(PropertyChangeEvent e)
    {
    //  Keep the row table in sync with the main table
    if ("selectionModel".equals(e.getPropertyName())){
    setSelectionModel( main.getSelectionModel() );
    }
    if ("rowHeight".equals(e.getPropertyName())){
    repaint();
    }
    if ("model".equals(e.getPropertyName())){
    main.getModel().addTableModelListener( this );
    revalidate();
    }
    }
    //
    //  Implement the TableModelListener
    //
    @Override
    public void tableChanged(TableModelEvent e){
    revalidate();
    }
    /*
    *  Attempt to mimic the table header renderer
    */
    private static class RowNumberRenderer extends DefaultTableCellRenderer{
    public RowNumberRenderer(){
    setHorizontalAlignment(JLabel.CENTER);
    }
    public Component getTableCellRendererComponent(
    JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
    if (table != null){
    JTableHeader header = table.getTableHeader();
    if (header != null){
    setForeground(header.getForeground());
    setBackground(header.getBackground());
    setFont(header.getFont());
    }
    }
    if (isSelected){
    setFont( getFont().deriveFont(Font.BOLD) );
    }
    setText((value == null) ? "" : value.toString());
    setBorder(UIManager.getBorder("TableHeader.cellBorder"));
    return this;
    }
    }
    }
  4. kemudian cara menggunakan nya adalah dengan memangil class tersebut
  5.         JTable rownomber = new RowNumberTable(jTable);
            jScrollPane1.setRowHeaderView(rownomber);

jangan lupa tinggalkan komentar

Tutorial Java - Koneksi Java dengan Database MySQL

Dalam membangun aplikasi dengan bahasa pemrograman Java kita tidak akan pernah lepas dari penggunaan database. Sebelum membahas lebih jauh tentang penggunaan database MySQL di java pada postingan ini saya akan sedikit berbagi tentang bagaimana mengkoneksikan Database MySQL ke Java menggunakan IDE Netbeans. Sebelum kita mulai mengkoneksikan database saya asumsikan anda telah membuat sebuah database dan minimal sebuah tabel di MySQL seperti contoh berikut saya memiliki sebuah database dengan nama biodata dan tabel dengan nama data

Koneksi Java dengan Database MySQL

Langkah Koneksi Database MySQL ke Java

1. Pertama, Import Library MySQL JDBC dengan cara klik kanan pada Libraries Projek anda di Netbeans seperti gambar berikut


Koneksi Java dengan Database MySQL

Koneksi Java dengan Database MySQL

2. Setelah itu, buatlah sebuah file atau class baru dan berinama koneksisql didalam file tersebutlah kita akan melakukan koneksi ke database. Source code milik saya seperti berikut ini.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class koneksisql {
     String url = "jdbc:mysql://localhost:3306/biodata";
     String user = "root"; String pass = "root";
     private Statement statemen;
     Connection conn;

     public Connection koneksi(){
        try {
           Class.forName("com.mysql.jdbc.Driver").newInstance();
           conn = DriverManager.getConnection(url, user, pass);
        } catch (Exception e) {
        }
      return conn;
      }
}  

Menampilkan Data Pada Tabel Database dengan JTable

Koneksi Java dengan Database MySQL

1. Tambahkan Komponen JTable kedalam JFrame anda

2. Buatlah Beberapa Method didalam file/class koneksisql untuk menampilkan data dan mengeksekusi query ke database contoh codenya seperti berikut
public ResultSet exQuer(String sql){
   ResultSet rs = null;
        try {
            statemen = koneksi().createStatement();
            rs = statemen.executeQuery(sql);
        } catch (Exception ex) {
            System.out.print("Gagal");
        }
        return rs;
    }

    public int row(ResultSet rs){
        int jumlah = 0;
        try {
            while (rs.next()) {
                jumlah +=1;
            }
        } catch (Exception ex) {
        System.out.print("Gagal");
        }
        return jumlah;
    }
     public void tampilTabel(JTable table, String[]kepala, String sql){
        ResultSet rs = exQuer(sql);
        int jumlahRow = row(exQuer(sql));
        int baris = 0;
        table.setModel(new DefaultTableModel(kepala, jumlahRow));
        try {
            while (rs.next()) {
                for(int i = 0; i<kepala.length; i++){
                    table.setValueAt(rs.getString(i+1), baris, i);
                }
                baris++;
            }
        } catch (Exception ex) {
           System.out.print("Gagal");
        }
        }
      
Buat sebuah objek baru dari class koneksisql dengan nama tampil
koneksisql tampil = new koneksisql();

Yang terakhir, tambahkan code berikut didalam Construktor anda. Sesuaikan dengan Nama Tabel dan Jumlah serta nama Field didalam Tabel database anda
String[] header = {"Field1","Field2","Field3","Field4","Field5"};
tampil.tampilTabel(jTable1, header, "SELECT * FROM nama_tabel");