Selasa, 28 Agustus 2012

Adding Check Box in Cell Table

Pengen nambah catatan lagi mengenai JTable. Kali ini pengen nambahin gimana caranya insert checkbox di cell JTable. Untuk nambahin checkbox, caranya cukup mudah. Pada cell tertentu ganti saja dengan object Boolean, maka akan di render menjadi checkbox. Lansung aja ke code ya.

public class TableFieldModel extends AbstractTableModel {

    String[] colom = {"Field", "Value", "Action"};
    FieldModel fm = new FieldModel("", "", false);
    List<FieldModel> lfm = new ArrayList<FieldModel>();

Senin, 27 Agustus 2012

Adding and Remove Row in JTable

Sambil mau nambah catatang lagi nih, pengen tulis snippet code nambah dan hapus baris di JTable. Pertama kita bikin dulu mode table kita sendiri, tentunya kita extends dari yang sebelumnya :D. Kemudian kita bikin class bantu (klo gw nyebutnya gitu :D ). 


Langsung aja ya ke code, :)

import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author user
 */
public class TableMTIModel extends AbstractTableModel{
       String[] colom = {"MTI", "Fields"};
       List<Helper> l = new ArrayList<Helper>();
       Helper hl = new Helper();
    
       public TableMTIModel () {        
             l.add(hl);        
       }    

Insert Button in Cell JTable

Hari ini mau tulis snipet code tetang cara masukin button ke cell table. Ya sebagai catatan aja biar gak cari - cari lagi. Untuk masukin button ke cell table, kita pake yang namanya cell renderer dan cell editor. Langsung aja ya ke kode.

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

/**
 * @version 1.0 11/09/98
 */
public class JButtonTableExample extends JFrame {

     public JButtonTableExample() {
          super("JButtonTable Example");

          DefaultTableModel dm = new DefaultTableModel();
          dm.setDataVector(new Object[][] { { "button 1", "foo" },
         { "button 2", "bar" } }, new Object[] { "Button", "String" });

          JTable table = new JTable(dm);
          table.getColumn("Button").setCellRenderer(new ButtonRenderer());
          table.getColumn("Button").setCellEditor(
                      new ButtonEditor(new JCheckBox()));
          JScrollPane scroll = new JScrollPane(table);
          getContentPane().add(scroll);
          setSize(400, 100);
          setVisible(true);
    }

Kamis, 23 Agustus 2012

Interface in Java

Hari ini mau tulis tentang interface di java. Interface itu object yang isinya hanya methode / fungsi. Biasa digunakan untuk "berinteraksi" dengan object lain tanpa tahu object lain itu seperti apa. Bingung??  Ok sama gw jg bingung :D, contoh yang paling gampang adalah ketika kita menggunakan remote tv ketika ingin menonton tv. Tombol remote tv adalah sebagai interface antara kita dan listrik yang ada di dalam remote tv.
Langsung aja kita buat simple contoh dari interface,

public interface HiListeners{
     public void say(String word);
}

Jumat, 10 Agustus 2012

SSL in Java

Hari ini mau tulis tutorial ecek-ecek lah. Uda lama juga gak nulis setelah laptop keyboard rusak #curcol. Kemarin iseng - iseng bikin koneksi tapi dibungkus pake SSL. Gw jg baru sih dan lumayan rada sulit.
Yang pertama kita lakukan itu bikin keynya atau gak certificatnya. Untuk bikin key itu uda ada tool dari javanya sendiri. 
Ketik command :
keytool -genkey -keystore mykey -keyalg RSA
Setelah jalanin command ini, akan terbuat file "mykey". Isinya itu keystore yang uda digenerate pake keytool. Oh, ya dalam membuat key ini bisa diselipin option macem-macem ya. Tapi default gw cuma bikin itu doank.
Nah abis itu kita buat server dan clientnya. Berikut kodenya untuk server dan client.