Monday, February 3, 2014
Form Master Barang
Setelah membuat table barang, buat desain form seperti gambar di atas dengan
menggunakan NetBean. Sesuaikan semua nama obyek dengan kebutuhan anda.
Alur program :
1. frmbarang created
2. panggil konstruktor frmbarang sekaligus open database
3. isian jtextfiled off
4. table barang diisi data dari table barang yang ada di server MySQL
5. button tambah, koreksi, hapus dan keluar dalam keadaan on sedang simpan dan batal off.
6. Jika ditekan tombol tambah, maka actionperformed pada button tambah
dijalankan
7. Jika ditekan tombol simpan, maka actionperformed pada button simpan dijalankan.
8. Jika ditekan tombol koreksi, maka actionperformed pada button koreksi dijalankan.
9. Jika ditekan tombol hapus, maka actionperformed pada button hapus dijalankan.
10. Jika ditekan tombol keluar, maka actionperformed pada button keluar dijalankan.
Code dan Method-method yang dibuat
Tambahkan code di bawah
public class frmBarang extends javax.swing.JFrame {
Connection Con;
ResultSet RsBrg;
Statement stm;
Boolean ada = false;
String sSatuan;
Boolean edit=false;
private Object[][] dataTable = null;
private String[] header = {"Kode","Nama Barang","Satuan","Harga","Stok","Stok Min"};
Tambahkan code dibawah knstruktor
public frmBarang() {
initComponents();
open_db();
baca_data();
aktif(false);
setTombol(true);
Buat Method-method berikut :
//method untuk memindahkan data dr table ke form
private void setField()
{
int row=tblBrg.getSelectedRow();
txtKode.setText((String)tblBrg.getValueAt(row,0));
txtNama.setText((String)tblBrg.getValueAt(row,1));
cmbSatuan.setSelectedItem((String)tblBrg.getValueAt(row,2));
String harga = Double.toString((Double)tblBrg.getValueAt(row,3));
txtHarga.setText(harga);
String stok=Integer.toString((Integer)tblBrg.getValueAt(row,4));
txtStok.setText(stok);
String stokmin=Integer.toString((Integer)tblBrg.getValueAt(row,5));
txtStokMin.setText(stokmin);
}
//method membuka database server, user, pass, database disesuaikan
private void open_db()
{ try{
KoneksiMysql kon = new KoneksiMysql
("localhost","root","root","penjualan");
Con = kon.getConnection();
//System.out.println("Berhasil ");
}catch (Exception e) {
System.out.println("Error : "+e);
}
}
//method baca data dari Mysql dimasukkan ke table pada form
private void baca_data()
{
try{
stm = Con.createStatement();
RsBrg = stm.executeQuery("select * from barang");
ResultSetMetaData meta = RsBrg.getMetaData();
int col = meta.getColumnCount();
int baris = 0;
while(RsBrg.next()) {
baris = RsBrg.getRow();
}
dataTable = new Object[baris][col];
int x = 0;
RsBrg.beforeFirst();
while(RsBrg.next()) {
dataTable[x][0] = RsBrg.getString("kd_brg");
dataTable[x][1] = RsBrg.getString("nm_brg");
dataTable[x][2] = RsBrg.getString("satuan");
dataTable[x][3] = RsBrg.getDouble("harga");
dataTable[x][4] = RsBrg.getInt("stok");
dataTable[x][5] = RsBrg.getInt("stok_min");
x++;
}
tblBrg.setModel(new DefaultTableModel(dataTable,header));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
}
//untuk mengkosongkan isian data
private void kosong()
{
txtKode.setText("");
txtNama.setText("");
txtHarga.setText("");
txtStok.setText("");
txtStokMin.setText("");
}
//mengset aktif tidak isian data
private void aktif(boolean x)
{
txtKode.setEditable(x);
txtNama.setEditable(x);
//cmbSatuan.setEditable(x);
cmbSatuan.setEnabled(x);
txtHarga.setEditable(x);
txtStok.setEditable(x);
txtStokMin.setEditable(x);
}
//mengset tombol on/off
private void setTombol(boolean t)
{
cmdTambah.setEnabled(t);
cmdKoreksi.setEnabled(t);
cmdHapus.setEnabled(t);
cmdSimpan.setEnabled(!t);
cmdBatal.setEnabled(!t);
cmdKeluar.setEnabled(t);
}
Event pada masing-masing obyek yang perlu disesuaikan :
private void cmdKeluarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void cmdSimpanMouseClicked(java.awt.event.MouseEvent evt) {
String tKode=txtKode.getText();
String tNama=txtNama.getText();
double hrg=Double.parseDouble(txtHarga.getText());
int stk=Integer.parseInt(txtStok.getText());
int stkMin=Integer.parseInt(txtStokMin.getText());
try{
if (edit==true)
{
stm.executeUpdate("update barang set
nm_brg='"+tNama+"',satuan='"+sSatuan+"',harga="+hrg+",stok="+stk+",stok
_min="+stkMin+" where kd_brg='" + tKode + "'");
}else
{
stm.executeUpdate("INSERT into barang
VALUES('"+tKode+"','"+tNama+"','"+sSatuan+"',"+hrg+","+stk+","+stkMin+"
)");
}
tblBrg.setModel(new DefaultTableModel(dataTable,header));
baca_data();
aktif(false);
setTombol(true);
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void cmbSatuanActionPerformed(java.awt.event.ActionEvent evt) {
JComboBox cSatuan = (javax.swing.JComboBox)evt.getSource();
//Membaca Item Yang Terpilih — > String
sSatuan = (String)cSatuan.getSelectedItem();
}
private void cmdTambahActionPerformed(java.awt.event.ActionEvent evt) {
aktif(true);
setTombol(false);
kosong();
}
private void cmdBatalActionPerformed(java.awt.event.ActionEvent evt) {
aktif(false);
setTombol(true);
}
private void tblBrgMouseClicked(java.awt.event.MouseEvent evt) {
setField();
}
private void cmdKoreksiActionPerformed(java.awt.event.ActionEvent evt)
{
edit=true;
aktif(true);
setTombol(false);
txtKode.setEditable(false);
}
private void cmdHapusActionPerformed(java.awt.event.ActionEvent evt) {
try{
String sql="delete from barang where kd_brg='" + txtKode.getText()
+ "'";
stm.executeUpdate(sql);
baca_data();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment