Category Archives: Java NetBeans

Akses Database MySQL Menggunakan Java NetBean

Siapkan databasenya dan Tabelnya

badi@localhost ~]$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 5.1.32 Source distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use simpeg;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from pegawai;
+-------+-----------------------+--------+------+-------+
| NIP | NAMA | ALAMAT | SEKS | AGAMA |
+-------+-----------------------+--------+------+-------+
| 10002 | Endang Susilowati sss | Madiun | P | ISLAM |
| 10003 | Made Saputra | Bali | L | HINDU |
| 10004 | Bejo | Bantul | L | BUDHA |
+-------+-----------------------+--------+------+-------+
3 rows in set (0.00 sec)

 

Membuat Program Koneksi dalam Kelas

 Lihat contoh program berkut :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jdbc1a;
import java.sql.*;
import javax.swing.*;
/*****************************************
*
* @author badiyanto
* STMIK AKAKOM Yogyakarta
*******************************************/
public class KoneksiDb {
public Connection conn;
public Statement st;
public ResultSet rs;
// Fungsi koneksi
public void koneksi()
{
// memangil fungsi konek() untuk melakukan koneksi
konek("localhost","simpeg","root","");
}
// Program untuk melakukan koneksi
public void konek(String server,String db, String user,String passwd){
System.out.println("Keterangan");
//memanggil driver
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println(
"Ada kesalahan Driver ODBC tidak barhasil Load");
e.printStackTrace();
return;
}
System.out.println("Mysql JDBC Driver berhasil di Load");
conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://"+
server+":3306/"+db,user,passwd);
} catch (SQLException e) {
System.out.println("Tidak bisa koneksi ke database");
e.printStackTrace();
return;
}
if (conn != null)
System.out.println("Berhasil Koneksi!");
else
System.out.println("Koneksi Gagal........ !");
}
 // program mengisikan kombobox
public void IsiKombo(JComboBox kombo, String tabel, String isi, String urut ){
koneksi();
String sql="SELECT "+isi+" as hasil FROM "+tabel+" ORDER BY "+urut;
kombo.removeAllItems();
try
{
st = conn.createStatement();
rs = st.executeQuery(sql);
}
catch (SQLException e){
return;
}
try{
while (rs.next())
{
kombo.addItem(rs.getString("hasil").toString());
}
rs.close();
st.close();
}
catch (SQLException e){
return;
}
}
// Program mencari data dengan kunci
public String CariData(String tabel, String fHasil, String fKunci, String fCari ){
String hs="";
String sql="SELECT "+fHasil+" as hasil FROM "+tabel+" WHERE "+fKunci+"='"+fCari+"'";
koneksi();
try
{
st = conn.createStatement();
rs = st.executeQuery(sql);
}
catch (SQLException e){
return("");
}
try{
while (rs.next())
{
hs = rs.getString("hasil").toString();
}
rs.close();
st.close();
}
catch (SQLException e){
return("");
}
return(hs);
}
// Program menampilkan isikombo
public void CariIsiKombo(JComboBox k,String c){
int i=0;
int ketemu=0;
while (i<=k.getItemCount()-1 )
{
if (c.equals(k.getItemAt(i).toString()))
{
ketemu=i;
}
i++;
}
k.setSelectedIndex(ketemu);
}
}

Rancangan Form untuk input data

Buatlah seperti rancangan berikut :

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } -->

Kode Program :

package jdbc1a;
import java.sql.*;
/****************************************
*
* @author badiyanto
* STMIK AKAKOM Yogyakarta
*******************************************/
public class NewJFrame1 extends javax.swing.JFrame {
KoneksiDb x; //deklarasi kelas
/** Creates new form NewJFrame1 */
public NewJFrame1() {
initComponents();
x = new KoneksiDb();
x.koneksi(); //panggil koneksi
}
/** 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.
*
*/
public void konek(String server,String db, String user,String passwd){
System.out.println("Keterangan");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Driver JDBC tidak barhasil Load");
e.printStackTrace();
return;
}
System.out.println("Driver berhasil di Load");
x.conn = null;
try {
x.conn = DriverManager.getConnection(
"jdbc:mysql://"+server+":3306/"+db,user,passwd);
} catch (SQLException e) {
System.out.println("Tidak bisa koneksi ke database");
e.printStackTrace();
return;
}
if (x.conn != null)
System.out.println("Berhasil Koneksi!");
else
System.out.println("Koneksi Gagal........ !");
}
private void jButtonSimpanMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String nip,nama,alamat,jk,agama,sql;
nip = jTextFieldNip.getText();
nama =jTextFieldNama.getText();
alamat=jTextFieldAlamat.getText();
if (nip.equals("") )
{
System.out.println("Nip tidak boleh kosong");
jTextFieldNip.requestFocus();
return;
}
if (nama.equals(""))
{
System.out.println("Nama tidak boleh kosong");
jTextFieldNama.requestFocus();
return;
}
if (jRadioButton1.isSelected()==true)
jk ="L";
else
jk="P";
agama=jComboBoxAgama.getItemAt(
jComboBoxAgama.getSelectedIndex()).toString();
sql="INSERT INTO pegawai(nip,nama,alamat,seks,agama) VALUES "+
"('"+nip+"','"+nama+"','"+alamat+"','"+jk+"','"+agama+"')";
jTextField1.setText(sql);
try
{
x.st = x.conn.createStatement();
x.st.execute(sql);
}
catch (SQLException e){
System.out.println("Penyimpanan Gagal ");
return;
}
System.out.println("Data sudah tersimpan!");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame1().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButtonSimpan;
private javax.swing.JComboBox jComboBoxAgama;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextFieldAlamat;
private javax.swing.JTextField jTextFieldNama;
private javax.swing.JTextField jTextFieldNip;
// End of variables declaration
}

Mengubah Rekaman

Buatlah rancangan berikut :

Kode Program :

/*
* NewJFrame2.java
*
* Created on May 22, 2011, 9:27:12 PM
*/
package jdbc1a;
import java.sql.*;
/***************************************
*
* @author badiyanto
* STMIK AKAKOM Yogyakarta
*******************************/
public class NewJFrame2 extends javax.swing.JFrame {
KoneksiDb x;
/** Creates new form NewJFrame2 */
public NewJFrame2() {
initComponents();
x = new KoneksiDb();
x.koneksi();
}
private void jButtonSimpanMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String nip,nama,alamat,jk,agama,sql;
nip = jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString();
nama =jTextFieldNama.getText();
alamat =jTextFieldAlamat.getText();
agama =jComboBoxAgama.getItemAt(jComboBoxAgama.getSelectedIndex()).toString();
if (jRadioButton1.isSelected()==true)
jk="L";
else
jk="P";
sql = "UPDATE pegawai SET nama='"+nama+"',"+
"alamat='"+alamat+"',"+
"seks='"+jk+"',"+
"agama='"+agama+"'"+
" WHERE nip='"+nip+"'";
jTextField1.setText(sql);
try {
x.st = x.conn.createStatement();
x.st.execute(sql);
} catch (SQLException e){
System.out.println("Penyimpanan Gagal ");
return;
}
 System.out.println("data sudah tersimpan!");
 }
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
// Memgisi kombo dengan tidak memanggil fungsi di kelas KonekDB
String sql="SELECT nip FROM pegawai ORDER BY nip";
jTextField1.setText(sql);
jComboBoxNip.removeAllItems();
try
{
x.st = x.conn.createStatement();
x.rs = x.st.executeQuery(sql);
}
catch (SQLException e){
return;
}
try{
while (x.rs.next())
{
jComboBoxNip.addItem(x.rs.getString("nip").toString());
}
x.rs.close();
x.st.close();
}
catch (SQLException e){
return;
}
}
private void jComboBoxNipMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
// Menampilkan data ketika comboNip di Klik
String nip=jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString();
String sql="SELECT * FROM pegawai WHERE nip='"+nip+"';";
try
{
x.st = x.conn.createStatement();
x.rs = x.st.executeQuery(sql);
}
catch (SQLException e){
return;
}
try{
while (x.rs.next())
{
jTextFieldNama.setText(x.rs.getString("nama").toString());
jTextFieldAlamat.setText(x.rs.getString("alamat").toString());
if (x.rs.getString("seks").equals("L"))
jRadioButton1.setSelected(true);
else
jRadioButton2.setSelected(true);
int i=0;
int ketemu=0;
while (i<=jComboBoxAgama.getItemCount()-1 )
{
if (x.rs.getString("agama").equals(
jComboBoxAgama.getItemAt(i).toString()))
{
ketemu=i;
}
i++;
}
jComboBoxAgama.setSelectedIndex(ketemu);
}
x.rs.close();
x.st.close();
}
catch (SQLException e){
return;
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame2().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButtonSimpan;
private javax.swing.JComboBox jComboBoxAgama;
private javax.swing.JComboBox jComboBoxNip;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextFieldAlamat;
private javax.swing.JTextField jTextFieldNama;
// End of variables declaration
}
Menghapus Rekaman
Rancangan Form Berikut :
Kode Program

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->
/***********************************************
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/************************************************
/***********************************************
* NewJFrame3.java
*
* Created on May 30, 2011, 9:28:42 PM
***********************************************/
package jdbc1a;
import java.sql.*;
import javax.swing.JOptionPane;
/*********************************************
*
* @author badiyanto
* STMIK AKAKOM Yogyakarta
*********************************************/
public class NewJFrame3 extends javax.swing.JFrame {
KoneksiDb y;
/** Creates new form NewJFrame3 */
public NewJFrame3() {
initComponents();
y=new KoneksiDb();
y.koneksi();
}
/** This method is called from within the constructor to
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
// memanggil fungsi kosongkan isian
kosongkan();
}
private void jComboBoxNipMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String nip=jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString();
///menampilkan isian dengan memanggil fungsi y.Caridata(......);
jTextFieldNama.setText(y.CariData("pegawai","nama","nip", nip));
jTextFieldAlamat.setText(y.CariData("pegawai","alamat","nip", nip));
if (y.CariData("pegawai","seks","nip", nip).equals("L"))
jRadioButton1.setSelected(true);
else
jRadioButton2.setSelected(true);
y.CariIsiKombo(jComboBoxAgama,y.CariData("pegawai","agama","nip", nip).toString());
}
//proses menghapus rekaman//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String nip=jComboBoxNip.getItemAt(jComboBoxNip.getSelectedIndex()).toString();
// dialog konfirmasi //
int jawab=JOptionPane.showConfirmDialog(this,"Anda yakin ingim menghapus data ini","Konfimasi",JOptionPane.YES_NO_OPTION);
if (jawab == 0)
{
try
{
y.st = y.conn.createStatement();
y.st.execute("DELETE FROM pegawai WHERE nip='"+nip+"'");
}
catch (SQLException e){
System.out.println("Gagal mengapus Gagal ");
return;
}
System.out.println("Data Berhasil dihapus!");
kosongkan();
}
}
void kosongkan()
{
jTextFieldAlamat.setText("");
jTextFieldNama.setText("");
jRadioButton1.setSelected(false);
jRadioButton2.setSelected(false);
jComboBoxAgama.setSelectedIndex(0);
jComboBoxNip.requestFocus();
y.IsiKombo(jComboBoxNip,"pegawai","nip", "nip");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame3().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton3;
private javax.swing.JComboBox jComboBoxAgama;
private javax.swing.JComboBox jComboBoxNip;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JTextField jTextFieldAlamat;
private javax.swing.JTextField jTextFieldNama;
// End of variables declaration
}

			

JList (Java ListBox)

JList

Suatu Jlist adalah komponen yang digunakan untuk menyajikan kotak pilihan, dengan terdapat pada kotak pilihan, Jumlah pilihan akan nampak sesuai dengan ukuran jendela, jika pilihanya lebih banyak maka jendela akan menggulung dengan menekan scroll bar.

Constructor

Jlist()
Menciptakan sebuah JList dengan model yang kosong.

JList(ListModel)
Menciptakan suatu daftar dengan awal mendaftar materi yang ditetapkan.

JList(Object[])
Secara implisit menciptakan suatu Listmodel yang tetap;

JList(Vector)
Memodifikasi dengan array

Method

void addListSelectionListener (ListSelectionListener listener)
Menambahkan ke daftar pendengar, untuk diberitahu setiap kali perubahan ke seleksi terjadi; cara yang lebih disukai untuk seleksi mendengarkan perubahan negara.

void addSelectionInterval(intanchor, intlead)
Menetapkan pilihan untuk menjadi kesatuan interval tertentu dengan pilihan saat ini.

void clearSelection ()
Membersihkan seleksi setelah memanggil metode ini, isSelectionEmpty akan kembali benar.

ListSelectionModel protected createSelectionModel ()
Mengembalikan sebuah instance dari DefaultListSelectionModel;

disebut selama konstruksi untuk menginisialisasi model seleksi daftar properti.

void ensureIndexIsVisible (int index)
Gulungan daftar dalam sebuah melampirkan viewport untuk membuat sel ditentukan sepenuhnya terlihat.

int getFirstVisibleIndex ()
Mengembalikan daftar indeks terkecil yang saat ini terlihat.

int getLastVisibleIndex ()
Mengembalikan daftar terbesar indeks yang saat ini terlihat.

int getLayoutOrientation ()
Mengembalikan orientasi tata letak properti untuk daftar: VERTIKAL jika tata letak adalah kolom satu sel, VERTICAL_WRAP jika tata letak adalah “gaya koran” dengan isi kemudian mengalir secara vertikal horizontal, atau jika HORIZONTAL_WRAP tata letak adalah “gaya koran” dengan isi mengalir secara horizontal kemudian vertikal.

int getMaxSelectionIndex ()
Mengembalikan indeks terbesar sel yang dipilih, atau -1 jika pemilihan kosong.

int getMinSelectionIndex ()
Mengembalikan indeks terkecil sel yang dipilih, atau -1 jika pemilihan kosong.

ListModel getModel ()
Mengembalikan model data yang menyimpan daftar item yang ditampilkan oleh komponen JList.

int getSelectedIndex ()
Mengembalikan indeks terkecil sel yang dipilih; seleksi ketika hanya satu item yang dipilih dalam daftar.

int [] getSelectedIndices ()
Mengembalikan sebuah array dari semua indeks yang dipilih, dalam urutan yang meningkat.

Obyek getSelectedValue ()
Mengembalikan nilai terkecil sel yang dipilih indeks; nilai yang dipilih ketika hanya satu item yang dipilih dalam daftar.

Object [] getSelectedValues ()
Mengembalikan sebuah array dari semua nilai-nilai yang dipilih, dalam urutan yang meningkat berdasarkan indeks dalam daftar.

Color getSelectionBackground ()
Mengembalikan digunakan untuk menggambar warna latar belakang item yang dipilih.

Color getSelectionForeground ()
Mengembalikan digunakan untuk menggambar warna latar depan item yang dipilih.

int getSelectionMode ()
Mengembalikan pilihan saat ini modus untuk daftar.

ListSelectionModel getSelectionModel ()
Mengembalikan model seleksi saat ini.

int getVisibleRowCount ()
Mengembalikan nilai properti visibleRowCount.

Point indexToLocation (int index)
Mengembalikan asal item tertentu dalam daftar sistem koordinat.

boolean isSelectedIndex (int index)
Mengembalikan nilai true jika indeks tertentu dipilih, kalau tidak salah.

boolean isSelectionEmpty ()
Mengembalikan nilai true jika tidak ada yang dipilih, kalau tidak salah.

void removeSelectionInterval (int index0, int index1)
Menetapkan pilihan untuk menjadi perbedaan mengatur interval tertentu dan pilihan saat ini.

void setListData (Object [] listData)
Membangun sebuah read-only ListModel dari sebuah array objek, dan panggilan setModel dengan model ini.

void setListData (Vector <?> listData)
Membangun sebuah read-only ListModel dari vektor dan panggilan setModel dengan model ini.

void setModel (ListModel model)
Set model yang mewakili isi atau “nilai” dari daftar, perubahan properti akan memberitahu pendengar, dan kemudian membersihkan daftar seleksi.

void setSelectedIndices (int [] index)
Perubahan seleksi menjadi himpunan ditentukan oleh indeks array yang diberikan.

void setSelectedValue (Object anObject, boolean shouldScroll)
Memilih objek tertentu dari daftar.

void setSelectionBackground (Warna selectionBackground)
Menentukan digunakan untuk menggambar warna latar belakang item yang dipilih, yang dapat menggunakan renderers sel mengisi sel-sel yang dipilih.

void setSelectionForeground (Warna selectionForeground)
Menentukan digunakan untuk menggambar warna latar depan item yang dipilih, yang renderers sel dapat digunakan untuk membuat teks dan gambar.

void setSelectionInterval(intanchor, intlead)
Memilih interval tertentu.

void setSelectionMode (int selectionMode)
Menetapkan modus seleksi untuk daftar.

void setSelectionModel (ListSelectionModel selectionModel)
SelectionModel untuk menetapkan daftar untuk non-null ListSelectionModel implementasi.

void setValueIsAdjusting (boolean b)
Mengatur model valueIsAdjusting seleksi properti.

void setVisibleRowCount (int visibleRowCount)
VisibleRowCount menetapkan properti, yang memiliki arti yang berbeda tergantung pada orientasi tata letak: Untuk VERTIKAL orientasi tata letak, ini menentukan jumlah baris yang diinginkan untuk menampilkan tanpa memerlukan bergulir; untuk orientasi yang lain, ia akan mempengaruhi sel pembungkus.

Latihan :

Deklarsi veriabel berikut :

// Variables declaration – do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JList jListBuah;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextFieldIndex;
private javax.swing.JTextField jTextFieldIsiElemen;
private javax.swing.JTextField jTextFieldJmlEl;
// End of variables declaration

Program
Tambahkan pada bagian awal program untuk memanggil kelas sebagai berikut :

import java.awt.Color;
import javax.swing.DefaultListModel;

public class NewJFrameListbox1 extends javax.swing.JFrame {
// dellarsi list model pilihan
DefaultListModel pilih;

Memberikan isi pilihan pada jListBuah

public NewJFrameListbox1() {
initComponents();
this.setForeground(Color.r

ed);
pilih = new DefaultListModel();
jListBuah.setModel(pilih);
pilih.addElement(“Jambu”);
pilih.addElement(“Markisa”);
pilih.addElement(“Kedondong”);
pilih.addElement(“Duku”);
pilih.addElement(“Durian”);
pilih.addElement(“Nangka”);
pilih.addElement(“Mangga”);
pilih.addElement(“Jeruk”);
pilih.addElement(“Jeruk”);
}

Event ketikan Daftar Buah dipilih

  • Klik pada jListBuah
  • Klik tombol kanan mouse
  • Pilih dan klik events
  • Pilih dan klik Mouse
  • Pilih dan klik MouseClicked
  • Masukkan kode program berikut :

private void jListBuahMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
jTextFieldIndex.setText(“”+jListBuah.getAnchorSelectionIndex());
String buah = jListBuah.getSelectedValue().toString();
jTextFieldIsiElemen.setText(buah);
jTextFieldJmlEl.setText(“”+
}

Menghitung jumlah elemen pada event Form Open

  • Klik pada jFrame
  • Klik tombol kanan mouse
  • Pilih dan klik events
  • Pilih dan klik Windows
  • Pilih dan klik WindowOpened
  • Masukkan kode program berikut :
private void formWindowOpened(java.awt.event.WindowEvent evt) {
 // TODO add your handling code here:
 int jumlah =jListBuah.getLastVisibleIndex()+1;
 jTextFieldJmlEl.setText(""+jumlah);
 }

Menggunakan tombol panah atas bawah.

  • Klik pada jListBuh
  • Klik tombol kanan mouse
  • Pilih dan klik events
  • Pilih dan klik Key
  • Pilih dan klik KeyPressed
  • Masukkan kode program berikut :
private void jListBuahKeyPressed(java.awt.event.KeyEvent evt) {
 // TODO add your handling code here:
 if ((evt.getKeyCode()==evt.VK_DOWN) || (evt.getKeyCode()==evt.VK_UP))
 {
 jTextFieldIndex.setText(""+jListBuah.getAnchorSelectionIndex());
 String buah = jListBuah.getSelectedValue().toString();
 jTextFieldIsiElemen.setText(buah);
 }
 }

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.

Constructor

JComboBox()
Menciptakan sebuah JComboBox dengan model data default.

JComboBox(ComboBoxModelaModel)
Menciptakan suatu ComboBox yang mengambil materi nya dari suatu Combobox model yang ada.

JComboBox(Object[]items)
Menciptakan suatu JComboBox yang berisi element pada array yang

JComboBox(Vector<?>items)
Menciptakan suatu JComboBox yang berisi element vektor.

Method

void addItem(ObjectanObject)
menambahkan isi element pada JComboBox

Object getItemAt(intindex)
menghasilkan nilai isi elemen pada posisi index

int getItemCount()
mengahaslilkan nilai integer jumlah elemen pada komponent JComboBox

void insertItemAt(ObjectanObject, intindex)
Menyisipkan sejulah elemen pada posisi tertentu

void removeAllItems()
Menghapus semua isi elemen

void removeItemAt(intanIndex)
Menghapus elemen tertentu

Contoh :

Kode berikut, diambil dari ComboBoxDemo.java, menciptakan kotak kombo diedit dan set it up:

String[] buahStrings = {“Nangka”,”Jambu”,”Durian”,”Apel”,”Mangga”};

/ / Buat combo box, pilih item pada indeks 4.
/ / Indeks dimulai dari 0, jadi 4

JComboBox buahList = new JComboBox(buahStrings);
buahList.setSelectedIndex(4);
buahList.addActionListener(this);

Latihan :
1. Buatlah rancangan seperti pada gambar;

Proses jika pilihan di klik komponen jTextFieldIndex berisi nilai index,
jTextFieldHasil nilai yang dipilih, jTextFieldJumlah mananpilkan banyak elemen dalam kombo,
caranya adalah sebagai berikut :

  • Klik pada komponen jComboBoxPilihan
  • Klik kiri tombol mouse pilih event
  • Pilih dan klik MouseClicked
  • Masukan kode program berikut :

private void jComboBoxPilihanMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:

int i = jComboBoxPilihan.getSelectedIndex();
jTextFieldIndex.setText(“”+i);
jTextFieldHasil.setText(
jComboBoxPilihan.getItemAt(i).toString());
int jml = jComboBoxPilihan.getItemCount();
jTextFieldJumlah.setText(“”+jml);
}

Penjelasan :

jComboBoxPilihan secara default menggunakan tombol drop-down

jComboBoxPilihan.getSelect

    edIndex();

    adalah methode untuk memperolen nilai index janis integer, dari posisi larik dalam kombo pilihan.

    jComboBoxPilihan.getItemAt(i).toString());

    adalah methode untuk memperleh isi elemen yang terdapat dalam kombo pilihan, dengan parameter i sebagai nilai index, atau posisi larik, dengan hasil pengembalian nilai String.

    Agar supaya isian kombo bisa diubah nilai sisannya maka tambah kan methode berikut ini.

    jComboBoxPilihan.setEditable(true);

    Hasil :

2. Mangisikan Combo Box Lewat Kode Program

Ada beberapa cara mengisikan JComboBox, bisa seperti di atas dan juga mengisikan lewat kode program. Isian JCombox akan terisi ketikan From JFrame dijalankan. Maka perlu ditambahkan program pada event

formWindowOpened(java.awt.

Kode program event jComboBoxPilihanMouseClick

    ed()

    private void jComboBoxPilihanMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:

    int i = jComboBoxPilihan.getSelectedIndex();
    jTextFieldIndex.setText(“”+i);
    jTextFieldHasil.setText(jComboBoxPilihan.getItemAt(i).toString());
    int jml = jComboBoxPilihan.getItemCount();
    jTextFieldJumlah.setText(“”+jml);
    }

    3.Menjumlahkan isi JcomboBox

    Buatlah rancangan form baru, dan tetukan klas/komponennya isi properties sebagai berikut :

Sehingga pada bagian deklarasi variabel membentuk program berikut :

private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBoxPil1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JTextField jTextFieldJmlEl;
private javax.swing.JTextField jTextFieldJumIsiEl;
private javax.swing.JTextField jTextFieldRata2;
// End of variables declaration

Mengisikan pilihan dalam JcomboBox dengan menggunakan rumus, pada event, jendela Jframe dijalankan.

  • Klik pada Jframe
  • Klik tombol kiri mouse
  • Pilih events
  • Pilih Window
  • Pilih WindowOpened

Masukan kode program berikut :

private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
for (int j=0; j<=100; j+=11)
{
jComboBoxPil1.addItem(“”+j);

}
}

Proses pada tombol “Jumlahkan isi pilihan “

  • Klik pada Button “Jumlankan isi pilihan “
  • Klik tombol kiri mouse
  • Pilih events
  • Pilih Muese
  • Pilih MouseClicked
  • Masukan kode program berikut :

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:

float jumlahIsi=0;
float jumlahElemen = jComboBoxPil1.getItemCount();

for (int j=0; j<=jumlahElemen-1; j++ )
{
float el = Integer.parseInt(jComboBoxPil1.getItemAt(j).
toString());
jumlahIsi=jumlahIsi+el;
}

float rataRata=jumlahIsi/jumlahElemen;
jTextFieldJmlEl.setText(“”+jumlahElemen);
jTextFieldJumIsiEl.setText(“”+jumlahIsi);
jTextFieldRata2.setText(Float.toString(rataRata));
}

Soal

Buatlah JComboBox pilihan kota, jika kota asal terpilih, kemudian saat menekan tombol Pindhkan>> 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 :


    Dasar java NetBeans

    Java NetBaens

    NetBeans adalah suatu tool untuk membuat program dengan menggunakan bahasa pemrograman java berbasis grafis. Cara membuat program dengan merancang tampilan menggunakan komponent visual dan proses diletakan pada event driven. Netbeans menyediakan sekumpulan perangkat lunak modular yang disebut modul yang dipakai untuk membangun suatu aplikasi. Sebuah modul adalah merupakan arsip Java (Java Archive) yang memuat kelas-kelas Java yang berinteraksi dengan NetBeans Open API . Kemudian rancangan tampilan yang dibuat menggunakan NetBens programnya secara otomatis akan digenerate menjadi kode.

    Jalankan Java NetBeans

    • File New Project
    • Chose Project , pilih Java
    • Project, pilih Java Desktop Appilcation
    • Klik Next

    Mangubah mengisikan judul Form jFrame,

    • Klik pada halaman Form jFarme
    • Klik tombol kiri mouse
    • Pilih Properties

    Pada bagian [jFrame]-Properties

    Pilih title : isikan seperti pada gambar berikut :

    Merancang Tampilan

    Sebelum meletakan poses maka dibuat dulu rancangan tampilan yang, diletakan pada komponen jFarame.

    Mengabil komponen Pallete

    • Klik dan pilih Swing Control
    • Pilih dan Klik jLabel tarik mouse letakkan pada halaman Form
    • Seperti terlihat pada gambar berikut :

    Magubah teks tampilan jLabel

    • Klik tombol kiri mouse
    • Pilih Edit Text

    Ubahlah jLabel menjadi “Masukan”

    Sehingga membentuk rancangan sebagai berikut :

    Sehingga membentuk rancangan sebagai berikut :

    Mengubah nama variabel jTextFiled menjadi jTextFieldMasukan

    • Klik tombol kiri mouse
    • Pilih Change Variabel Name …
    • Isi seperti pada gambar berkut :

    Mengubah nama variabel jTextFiled menjadi jTextFieldMasukan

    • Klik tombol kiri mouse
    • Pilih Change Variabel Name …
    • Isi seperti pada gambar berkut :

    Sehingga di bagian Navigator seperti pada gambar berikut :

    Lakukan cara yang sama sehingga membetuk suatu form sebagai berikut :

    Memasukan kode program

    Program akan dikalan berdasarkan kejadian (event)

    Event mengosongkan isi Form saat pertama kali program dijalankan, caranya adalah

    • Klik pada halama Form
    • Klik tombol kiri mouse
    • Pilih dan Klik Events
    • Pilih dan klik Window
    • Pilih dan klik windoOpened
    • Seperti terlihat pada gambar

    • Masukkan kode program berikut :

    private void jButtonProsesMouseClicked(java.awt.event.MouseEvent evt) {

    // TODO add your handling code here:

    jTextFieldKeluaran.setText(jTextFieldMasukan.getText());

    }

    Penjelasan

    jTextFieldMasukan.getText(); mengambil atau membaca nilai isi dari isian jTextFieldMasukan, memberikan nilainya ke. jTextFieldKeluaran.setText(…..)

    menjalanakan program :

    Pilih dan klik menu Run atau tekan toolbar

    • Masukkan : sesuai dengan keinginan kemudain
    • Klik tombol Proses,
    • Lihat gambar berkut :

    Mengarahkan posisi kursor

    Kursor suatu tanda pada terdapat pada komponen, yang menunjukan suatu piranti masukan siap menerima peritah dari user. Misal lewat keybaord atau mengklik mosuse.

    Misalnya ketikan user mamasukan isian ke jTextFieldMasukan, Msetelah menekan tombol Enter kursor pindah dibawanya. Umumnya aplikasi berbasi GUI untuk memindahkan kursor satu ke lainya menggunnakan tombol Tab. Untuk kasus diatas pada saat memasukan data di isi Masukan kemudian menekan enter pindah ke kursor Tombol Proses. Caranya adalah sebagai berikut :

    • Klik pada jTextFieldMasukan
    • Klik tombol kiri mouse
    • Pilih dan Klik Events
    • Pilih dan klik key
    • Pilih dan klik keyPressed

    Masukkan kode program berikut :

    private void jTextFieldMasukanKeyPressed(java.awt.event.KeyEvent evt) {

    // TODO add your handling code here:

    if (evt.getKeyCode() == evt.VK_ENTER)

    {

    jButtonProses.requestFocus();

    }

    }

    Tambahkan program diatas jika ditekan Enter kalau kosong menampilkan pesan dan kussor kembali ke jTextFieldMasukan

    Tambahkan begian awal program dengan

    import java.lang.*;

    import javax.swing.JOptionPane;

    kemudian ubah di :

    private void jTextFieldMasukanKeyPressed(java.awt.event.KeyEvent evt) {

    // TODO add your handling code here:

    if (evt.getKeyCode() == evt.VK_ENTER)

    {

    if (jTextFieldMasukan.getText().length()==0)

    {

    JOptionPane.showMessageDialog(null,

    “Masukan Tidak Boleh Kosong”,

    “Konfirmasi”,JOptionPane.INFORMATION_MESSAGE );

    jTextFieldMasukan.requestFocus();

    return;

    }

    jButtonProses.requestFocus();

    }

    }

    Hasil keluaran dialog pesan :

    Program lengkapnya adalah sebagai berikut :

    import java.lang.*;

    import javax.swing.JOptionPane;

    public class NewJFrame1 extends javax.swing.JFrame {

    /** Creates new form NewJFrame1 */

    public NewJFrame1() {

    initComponents();

    }

    /** 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”)

    // <editor-fold defaultstate=”collapsed” desc=”Generated Code”>

    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();

    jTextFieldMasukan = new javax.swing.JTextField();

    jLabel2 = new javax.swing.JLabel();

    jTextFieldKeluaran = new javax.swing.JTextField();

    jButtonProses = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    setTitle(“Latihan 1”);

    addWindowListener(new java.awt.event.WindowAdapter() {

    public void windowOpened(java.awt.event.WindowEvent evt) {

    formWindowOpened(evt);

    }

    });

    jLabel1.setText(“Masukan”);

    jLabel1.setName(“jLabel1”); // NOI18N

    jTextFieldMasukan.setText(“jTextField1”);

    jTextFieldMasukan.setName(“jTextFieldMasukan”); // NOI18N

    jTextFieldMasukan.addKeyListener(new java.awt.event.KeyAdapter() {

    public void keyPressed(java.awt.event.KeyEvent evt) {

    jTextFieldMasukanKeyPressed(evt);

    }

    });

    jLabel2.setText(“Keluaran”);

    jLabel2.setName(“jLabel2”); // NOI18N

    jTextFieldKeluaran.setText(“jTextField2”);

    jTextFieldKeluaran.setName(“jTextFieldKeluaran”); // NOI18N

    jButtonProses.setText(“Proses”);

    jButtonProses.setName(“jButtonProses”); // NOI18N

    jButtonProses.addMouseListener(new java.awt.event.MouseAdapter() {

    public void mouseClicked(java.awt.event.MouseEvent evt) {

    jButtonProsesMouseClicked(evt);

    }

    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(layout.createSequentialGroup()

    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

    .addGroup(layout.createSequentialGroup()

    .addContainerGap()

    .addComponent(jButtonProses, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

    .addGap(44, 44, 44)

    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(layout.createSequentialGroup()

    .addComponent(jLabel2)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(jTextFieldKeluaran, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE))

    .addGroup(layout.createSequentialGroup()

    .addComponent(jLabel1)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(jTextFieldMasukan, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)))))

    .addContainerGap(105, Short.MAX_VALUE))

    );

    layout.setVerticalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(layout.createSequentialGroup()

    .addGap(27, 27, 27)

    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel1)

    .addComponent(jTextFieldMasukan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel2)

    .addComponent(jTextFieldKeluaran, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(74, 74, 74)

    .addComponent(jButtonProses, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)

    .addContainerGap(88, Short.MAX_VALUE))

    );

    pack();

    }// </editor-fold>

    private void formWindowOpened(java.awt.event.WindowEvent evt) {

    // ketikan prigram disini

    jTextFieldMasukan.setText(“”);

    jTextFieldKeluaran.setText(“”);

    }

    private void jButtonProsesMouseClicked(java.awt.event.MouseEvent evt) {

    // TODO add your handling code here:

    jTextFieldKeluaran.setText(jTextFieldMasukan.getText());

    }

    private void jTextFieldMasukanKeyPressed(java.awt.event.KeyEvent evt) {

    // TODO add your handling code here:

    if (evt.getKeyCode() == evt.VK_ENTER)

    {

    if (jTextFieldMasukan.getText().length()==0)

    {

    JOptionPane.showMessageDialog(null,

    “Masukan Tidak Boleh Kosong”,

    “Konfirmasi”,JOptionPane.INFORMATION_MESSAGE );

    jTextFieldMasukan.requestFocus();

    return;

    }

    jButtonProses.requestFocus();

    }

    }

    /**

    * @param args the command line arguments

    */

    public static void main(String args[]) {

    java.awt.EventQueue.invokeLater(new Runnable() {

    public void run() {

    new NewJFrame1().setVisible(true);

    }

    });

    }

    // Variables declaration – do not modify

    private javax.swing.JButton jButtonProses;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JTextField jTextFieldKeluaran;

    private javax.swing.JTextField jTextFieldMasukan;

    // End of variables declaration

    }

    Latihan :

    Rancangan Form seabagai

    Maukan program pada tombo hitung

    private void jButtonHitungMouseClicked(java.awt.event.MouseEvent evt) {

    // TODO add your handling code here:

    int hasil = Integer.parseInt(jTextFieldX.getText())*

    Integer.parseInt(jTextFieldY.getText());

    jTextFieldHasil.setText(“”+hasil );

    }

    Run :