Jumat, 30 Maret 2012


TUTORIAL PANEL TANGGAL
 (By Mieftahul ‘ulum Anak RpL 1 SMK Negeri 3 Banjar)
Berikut adalah langkah – langkah cara membuat panel tanggal pada Netbeans 6.9.1.
Langkah pertama:
bagian  interface
1.       Buat projek baru
2.       Jjframe form > beri nama tanggal
3.       Set tittle jframe form  baru , kasih nama seterah anda.
4.       Buat seperti gambar dibawah ini.
 

5.       Pasang jpanel, kemudian klik kanan pada jpanel property > border > line border.
6.       Ganti model pada combo box tangal 1 sampai 31, combo box bulan diisi januari sampai desember, sedang combo tahun kita kosongkan saja.
7.       Pasang 3 combo box dalam jpanel seperti gambar diatas dimana combo box pertama sebagai tanggal, Kedua sebagai bulan, ketiga adalah tahun.
8.       Ubah nama combo box pertama menjadi cmb_D, kedua menjadi cmb_M, ketiga menjadi cmb_Y.
Langkah kedua :
bagian source coding
1.       buat fungsi untuk menampilkan tahun pada combo box tahun:
private void isicmbtahun(){
        java.util.Calendar cal = java.util.Calendar.getInstance();
        int awal = cal.get(cal.YEAR);
        Integer[] isi = new Integer[60];
        for(int i = 0; i < 60 ; i++){
            isi[i] = awal - i;
        }
        DefaultComboBoxModel dcm = new DefaultComboBoxModel(isi);
        cmb_y.setModel(dcm);
    }


2.       buat fungsi untuk menampilkan tanggal :

private void isicmbtanggal(){
        int awal = 1;
        Integer[] isi = new Integer[31];
        for(int i = 0; i < 31; i++ ){
            isi[i] = awal + i;
        }
        DefaultComboBoxModel ycm = new DefaultComboBoxModel(isi);
        cmb_d.setModel(ycm);
    }
3.       buat fungsi untuk validasi tanggal :

private void validasitanggal(){
        int d = Integer.parseInt(cmb_d.getSelectedItem().toString());
        int m = cmb_m.getSelectedIndex();
        int y = Integer.parseInt(cmb_y.getSelectedItem().toString());
        if(y % 4 == 0){
            max[1] = 29;
        } else {
            max[1] = 28;
        }
        if(d > max[m]){
            cmb_d.setSelectedItem(max[m]);
        }
    }

4.       klik kanan cmb_d > event > item > Item State Changed
private void cmb_dItemStateChanged(java.awt.event.ItemEvent evt) {
 // TODO add your handling code here:
        validasitanggal();
  }
5.       klik kanan cmb_m > event > item > Item State Changed
private void cmb_mItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
    }
6.       klik kanan cmb_y > event > item > Item State Changed
 private void cmb_yItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
    }

Coding keseluruhan

package testanggal;

import javax.swing.DefaultComboBoxModel;

/**
 *
 * @author
 */
public class tanggal1 extends javax.swing.JFrame {

    int[] max = {31,28,31,30,31,30,31,31,30,31,30,31};
    /** Creates new form tanggal1 */
    public tanggal1() {
        initComponents();
        isicmbtahun();
        isicmbtanggal();
        setHariIni();
    }

    private void isicmbtahun(){
        java.util.Calendar cal = java.util.Calendar.getInstance();
        int awal = cal.get(cal.YEAR);
        Integer[] isi = new Integer[60];
        for(int i = 0; i < 60 ; i++){
            isi[i] = awal - i;
        }
        DefaultComboBoxModel dcm = new DefaultComboBoxModel(isi);
        cmb_y.setModel(dcm);
    }

    private void isicmbtanggal(){
        int awal = 1;
        Integer[] isi = new Integer[31];
        for(int i = 0; i < 31; i++ ){
            isi[i] = awal + i;
        }
        DefaultComboBoxModel ycm = new DefaultComboBoxModel(isi);
        cmb_d.setModel(ycm);
    }

    private void setHariIni(){
        java.util.Calendar cal = java.util.Calendar.getInstance();
        int d = cal.get(cal.DAY_OF_MONTH);
        int m = cal.get(cal.MONTH);
        int y = cal.get(cal.YEAR);
        cmb_d.setSelectedItem(d);
        cmb_m.setSelectedIndex(m);
        cmb_y.setSelectedItem(y);
    }

    private void validasitanggal(){
        int d = Integer.parseInt(cmb_d.getSelectedItem().toString());
        int m = cmb_m.getSelectedIndex();
        int y = Integer.parseInt(cmb_y.getSelectedItem().toString());
        if(y % 4 == 0){
            max[1] = 29;
        }else{
            max[1] = 28;
        }

        if(d > max[m]){
            cmb_d.setSelectedItem(max[m]);
        }
    }

    private String getTanggal(){
        int d = Integer.parseInt(cmb_d.getSelectedItem().toString());
        int m = cmb_m.getSelectedIndex()+1;
        int y = Integer.parseInt(cmb_y.getSelectedItem().toString());
        String tgl = d + "/" + m + "/" + y;
        return tgl;
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    //
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        cmb_d = new javax.swing.JComboBox();
        cmb_m = new javax.swing.JComboBox();
        cmb_y = new javax.swing.JComboBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        cmb_d.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_dItemStateChanged(evt);
            }
        });

        cmb_m.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" }));
        cmb_m.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_mItemStateChanged(evt);
            }
        });

        cmb_y.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_yItemStateChanged(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(cmb_d, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cmb_m, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cmb_y, 0, 68, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cmb_d, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cmb_m, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cmb_y, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(26, Short.MAX_VALUE))
        );

        pack();
    }//

    private void cmb_dItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
    }

    private void cmb_mItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
    }

    private void cmb_yItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new tanggal1().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JComboBox cmb_d;
    private javax.swing.JComboBox cmb_m;
    private javax.swing.JComboBox cmb_y;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration

}


Langkah ketiga :
Buat library
1.       new project > java class library
2.       beri nama project (library_ku)
3.       buat jpanel baru beri nama “tanggal
4.       copy paste cmb_D, cmb_M, cmb_Y dari project sebelumnya (tanggal.java)
5.       copy paste seperti pada gambar berikut :

            
6.       copykan semua fungsi dari project sebelumnya seperti :
a.       fungsi isicmbtahun ()
b.      fungsi isismbtanggal ()
c.       fungsi sethariini ()
d.      fungsi validasi tanggal ()
e.      dan setiap even pada combo box
7.       klik kanan pada project library_ku > new > java package
8.       beri nama packagename dengan  “lbtanggal
9.       klik kanan pada project lbtanggal > new > java class
10.   beri nama pnltanggal
11.   copy paste semua source code dari jpanel tanggal.java
12.   rubah beberapa coding seperti berikut :
i)        public class pnltgl > public class pnltgl extends javax.swing.JPanel
ii)      public tanggal1() > public pnltanggal()
13.   klik kanan pada project library_ku > clean and  bulid




source coding keseluruhan :
package lbtanggal;

import javax.swing.DefaultComboBoxModel;

/**
 *
 * @author
 */
public class pnltanggal extends javax.swing.JPanel {
    int[] max = {31,28,31,30,31,30,31,31,30,31,30,31};
    /** Creates new form tanggal1 */
    public pnltanggal() {
        initComponents();
        isicmbtahun();
        isicmbtanggal();
        setHariIni();
    }

    private void isicmbtahun(){
        java.util.Calendar cal = java.util.Calendar.getInstance();
        int awal = cal.get(cal.YEAR);
        Integer[] isi = new Integer[60];
        for(int i = 0; i < 60 ; i++){
            isi[i] = awal - i;
        }
        DefaultComboBoxModel dcm = new DefaultComboBoxModel(isi);
        cmb_y.setModel(dcm);
    }

    private void isicmbtanggal(){
        int awal = 1;
        Integer[] isi = new Integer[31];
        for(int i = 0; i < 31; i++ ){
            isi[i] = awal + i;
        }
        DefaultComboBoxModel ycm = new DefaultComboBoxModel(isi);
        cmb_d.setModel(ycm);
    }

    private void setHariIni(){
        java.util.Calendar cal = java.util.Calendar.getInstance();
        int d = cal.get(cal.DAY_OF_MONTH);
        int m = cal.get(cal.MONTH);
        int y = cal.get(cal.YEAR);
        cmb_d.setSelectedItem(d);
        cmb_m.setSelectedIndex(m);
        cmb_y.setSelectedItem(y);
    }

    private void validasitanggal(){
        int d = Integer.parseInt(cmb_d.getSelectedItem().toString());
        int m = cmb_m.getSelectedIndex();
        int y = Integer.parseInt(cmb_y.getSelectedItem().toString());
        if(y % 4 == 0){
            max[1] = 29;
        }else{
            max[1] = 28;
        }

        if(d > max[m]){
            cmb_d.setSelectedItem(max[m]);
        }
    }

    private String getTanggal(){
        int d = Integer.parseInt(cmb_d.getSelectedItem().toString());
        int m = cmb_m.getSelectedIndex()+1;
        int y = Integer.parseInt(cmb_y.getSelectedItem().toString());
        String tgl = d + "/" + m + "/" + y;
        return tgl;
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    //
    private void initComponents() {

        cmb_d = new javax.swing.JComboBox();
        cmb_m = new javax.swing.JComboBox();
        cmb_y = new javax.swing.JComboBox();

        cmb_d.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_dItemStateChanged(evt);
            }
        });

        cmb_m.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" }));
        cmb_m.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_mItemStateChanged(evt);
            }
        });

        cmb_y.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmb_yItemStateChanged(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(cmb_d, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cmb_m, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cmb_y, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(cmb_d, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(cmb_m, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(cmb_y, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
    }//

    private void cmb_dItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
}

    private void cmb_mItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
}

    private void cmb_yItemStateChanged(java.awt.event.ItemEvent evt) {
        // TODO add your handling code here:
        validasitanggal();
}


    // Variables declaration - do not modify
    private javax.swing.JComboBox cmb_d;
    private javax.swing.JComboBox cmb_m;
    private javax.swing.JComboBox cmb_y;
}

Lankah keempat :
1.       klik kanan palette > create new category


2.       beri nama “my_lib”
3.       klik kanan pada my_lib > palette manager > add form jar


4.       cari dimana anda menyimpan project library_ku > folder dist > library_ku.jar
5.       pilih pnltanggal > next > pilih my_lib > finish > close
6.       buka palette > my_lib > pnltanggal

Tidak ada komentar:

Posting Komentar