Sistem ini akan berjalan dengan membuat form terlebih dahulu. Dalam form inilah pengguna dapat membuat, mengedit, menampung, meng-update bahkan menghapus data yang ada. Sistem ini akan berjalan secara berkesinambungan sesuai dengan apa yang dibutuhkan pengguna.
Form Ketiga :
Form Pengadaan Barang
Keterangan :
Untuk membuat form tersebut dibutuhkan Palette untuk mendesignnya. Ada juga palette yang dibutuhkan untuk menunjang pembuatan form ini. Semua palette harus memiliki variabel nama supaya mudah di panggil. Seperti :
JDate Chooser dari Label Tanggal : txtkalender
Text Field dari Label Supplier : txtsupplier
Table : tabelpengadaanbarang
Button dari Home : btncancel
Button dari Insert : btninsert
Button dari Delete : btndelete
Untuk bisa menjalankan form di atas dibutuhkan script sebagai berikut :
package toko_barang;
import Toko.Koneksi.Koneksi;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import sun.applet.Main;
public class PengadaanBarang extends javax.swing.JFrame {
Koneksi koneksi;
Statement statement;
ResultSet resultSet;
int count;
String idPengadaan;
String id_hapus;
public PengadaanBarang() {
initComponents();
koneksi = new Koneksi();
select();
}
private void clear() {
txtkalender.setDate(null);
txtsupplier.setText("");
}
private void select() {
Object header[] = {"ID PENGADAAN", "TANGGAL", "SUPPLIER", "TOTAL TRANSAKSI", "ACTION"};
DefaultTableModel defaultTable = new DefaultTableModel(null, header);
tabelpengadaanbarang.setModel(defaultTable);
tabelpengadaanbarang.getColumnModel().getColumn(4).setCellRenderer(new buttonDetail());
int baris = tabelpengadaanbarang.getRowCount();
for (int i = 0; i < baris; i++) {
defaultTable.removeRow(i);
}
String sql_select = "select * from pengadaan";
try {
statement = koneksi.conn.createStatement();
resultSet = statement.executeQuery(sql_select);
while (resultSet.next()) {
String id_Pengadaan = resultSet.getString(1);
String tanggal = resultSet.getString(3);
String supplier = resultSet.getString(4);
String total = resultSet.getString(5);
String kolom[] = {id_Pengadaan, tanggal, supplier,total};
defaultTable.addRow(kolom);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void insertData() {
try {
# untuk menampilkan tanggal (formatnya)
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String tanggal = dateFormat.format(txtkalender.getDate());
SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd.MM.yyyy");
String tanggal2 = dateFormat2.format(txtkalender.getDate());
count = 100;
String sqltanggal = "select tanggal, id_pengadaan from pengadaan";
resultSet = statement.executeQuery(sqltanggal);
while (resultSet.next()) {
String data1 = resultSet.getString(1);
String data2 = resultSet.getString(2);
if (data1.equals(tanggal)) {
if (count == Integer.valueOf(data2.substring(14, 17))) {
count++;
}
}
}
# untuk tampilan tulisan pada JDate Chooser (Tanggal)
String id_pengadaan = "TB." + tanggal2 + "." + count;
String sql = "insert into pengadaan " + "values('" + id_pengadaan + "','"+Form_Login.userLogin+"','" + tanggal + "','" + txtsupplier.getText() + "',0)";
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void deleteData(){
String sql_delete = "delete from pengadaan where id_pengadaan = '"+id_hapus+"'";
try {
statement.executeUpdate(sql_delete);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Data masih digunakan!!");
}
}
Supaya action-action pada form yang telah dibuat bisa berfungsi, dibutuhkan script sebagai berikut :
Key Pressed txtsupplier
private void txtsupplierKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyChar() == '\n') {
insertData();
select();
clear();
}
}
Mouse Click tabelpengadaanbarang
private
void tabelpengadaanbarangMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
idPengadaan =
tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(),
0).toString();
if (tabelpengadaanbarang.getSelectedColumn()
== 4) {
this.dispose();
new
DetailBarang(idPengadaan).setVisible(true);
}
id_hapus =
tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(),
0).toString();
txtsupplier.setText(tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(),
2).toString());
}
Button Insert
private
void btninsertActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtsupplier.getText().isEmpty()) {
JOptionPane.showMessageDialog(null,
"Pengisian Form Harus Lengkap");
} else {
insertData();
select();
clear();
}
}
Button Delete
private void btndeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtsupplier.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Pilih data yang akan dihapus");
}else {
int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin menghapus kode kategori : "
+id_hapus,null,JOptionPane.YES_NO_OPTION);
if (hasil == JOptionPane.YES_OPTION) {
deleteData();
select();
clear();
}else if (hasil == JOptionPane.NO_OPTION) {
clear();
}
}
}
Button Home
private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
clear();
new MenuUtama(Form_Login.kondisiLogin).setVisible(true);
this.dispose();
}
# untuk menjalankan form
public
static void main(String args[]) {
java.awt.EventQueue.invokeLater(new
Runnable() {
public
void run() {
new
PengadaanBarang().setVisible(true);
}
});
}
}
# untuk menampilkan button detail pada Action di dalam tabel diperlukan class lain untuk memanggilnya ke dalam sistem
package
toko_barang;
import
java.awt.Component;
import
javax.swing.JButton;
import
javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
public
class buttonDetail extends JButton implements TableCellRenderer{
public buttonDetail() {
setText("detail");
}
@Override
public Component getTableCellRendererComponent(JTable
table, Object value,
boolean
isSelected, boolean hasFocus, int row, int column) {
setBackground(isSelected?table.getSelectionBackground():table.getBackground());
return this;
}
}
0 komentar:
Posting Komentar