Pertama Buka Aplikasi Netbeans.

Setelah itu, buat projectnya 'file - new project {ctrl+shift+n} - java - Java Application [next - Finish]
Membuat projectnya selesai, Terus kita buat framenya.
Setelah selesai, kita buat Desain GUI nya Contohnya Seperti ini :
Setelah Selesai Kita masuk ke Kodingnya.
JTextField jTkodeb
JTextField jTnamab
JTextField jTunitdpsn
JTextField jThargab
JTextField jTtotal
JButton jbtotal
JButton jbbaru
JButton jbsimpan
JButton jbhapus
JCheckBox CBtotal
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
private Vector<Vector<String>> DB = new Vector(), data = new Vector();
private Vector head = new Vector();
private int max = 0; //untuk no urut
private String fileName = "H:/dataKomputer.txt"; //file save
private DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
public Komputer() {
initComponents();
rightRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
bacaData();
updateTabel();
}
private void bacaData(){ // untuk membaca data yang di save pakai ekstensi txt
try {
BufferedReader br = new BufferedReader(new FileReader(fileName));
String tmp;
while((tmp=br.readLine())!=null){
StringTokenizer st = new StringTokenizer(tmp, "#");
Vector<String> tmp2 = new Vector();
String Kode = st.nextToken();
String Nama = st.nextToken();
String Unit = st.nextToken();
String Harga = st.nextToken();
String Total = st.nextToken();
tmp2.add(Kode); tmp2.add(Nama); tmp2.add(Unit); tmp2.add(Harga); tmp2.add(Total);
DB.add(tmp2);
if(Integer.parseInt(Kode) > max) max = Integer.parseInt(Kode);
}
br.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
private void updateTabel(){ // untuk mengupdate tabel
data = new Vector();
head = new Vector();
head.add("Kode"); head.add("Nama"); head.add("Unit"); head.add("Harga");
if(CBtotal.isSelected()) head.add("Total");
for (Vector<String> v1 : DB) {
Vector<String> v2 = new Vector<>();
v2.add(v1.get(0));
v2.add(v1.get(1));
v2.add(v1.get(2));
v2.add(v1.get(3));
if(CBtotal.isSelected()) v2.add(v1.get(4));
data.add(v2);
}
Tabel.setModel(new DefaultTableModel(data, head));
Tabel.getColumnModel().getColumn(0).setPreferredWidth(50);
Tabel.getColumnModel().getColumn(1).setPreferredWidth(100);
Tabel.getColumnModel().getColumn(2).setPreferredWidth(100);
Tabel.getColumnModel().getColumn(3).setPreferredWidth(100);
if(CBtotal.isSelected()) Tabel.getColumnModel().getColumn(4).setPreferredWidth(300);
Tabel.getColumnModel().getColumn(0).setCellRenderer(rightRenderer);
Tabel.getColumnModel().getColumn(1).setCellRenderer(rightRenderer);
}
private void simpanData(){ // untuk menyimpan data ke file txt
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
for (Vector<String> v : DB) {
bw.write(v.get(0)+"#"+v.get(1)+"#"+v.get(2)+"#"+v.get(3)+"#"+v.get(4));
bw.newLine();
}
bw.close();
} catch (Exception e) {
}
}
private void hapusData() { // untuk menghapus data
String kode = jTkodeb.getText().trim();
if(kode.equals("")) {
JOptionPane.showMessageDialog(this, "Tentukan nama barang yang ingin dihapus.");
} else {
if(JOptionPane.showConfirmDialog(this, "Data "+kode+" dihapus?", "Konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) return;
boolean b = false;
int i;
for (i = 0; i < DB.size(); i++) {
if(DB.get(i).get(1).equals(kode)) { b = true; break; }
}
if(b){
DB.remove(i);
JOptionPane.showMessageDialog(this, "Proses Hapus sukses.");
max = 0;
for (Vector<String> v : DB) {
if(Integer.parseInt(v.get(0)) > max) max = Integer.parseInt(v.get(0));
}
updateTabel();
jTkodeb.setText(""); jTnamab.setText(""); jTunitdpsn.setText(""); jThargab.setText(""); jTtotal.setText("");
} else {
JOptionPane.showMessageDialog(this, "Data tidak ditemukan.");
}
}
}
private void jbtotalActionPerformed(java.awt.event.ActionEvent evt) { // untuk tombol simpan
// TODO add your handling code here:
int bil1=Integer.parseInt(jTunitdpsn.getText().toString());
int bil2=Integer.parseInt(jThargab.getText().toString());
int total = bil1*bil2;
jTtotal.setText(""+total);
}
private void TabelMouseClicked(java.awt.event.MouseEvent evt) { // untuk mouse click di tabel
// TODO add your handling code here:
int row = Tabel.getSelectedRow();
if(row < 0) {
JOptionPane.showMessageDialog(this, "Pilih data (klik kiri) terlebih dahulu.");
return;
}
jTkodeb.setText(DB.get(row).get(0));
jTnamab.setText(DB.get(row).get(1));
jTunitdpsn.setText(DB.get(row).get(2));
jThargab.setText(DB.get(row).get(3));
jTtotal.setText(DB.get(row).get(4));
jTkodeb.setEditable(false);
if(evt.getButton() == java.awt.event.MouseEvent.BUTTON3) {
MenuHapus.setText("Hapus "+jTkodeb.getText()+", "+jTnamab.getText());
PopupMenu.show(Tabel, evt.getX(), evt.getY());
}
}
private void jbsimpanActionPerformed(java.awt.event.ActionEvent evt) { // untuk tombol simpan
// TODO add your handling code here:
String no = String.valueOf(max+1);
String Kode = jTkodeb.getText().trim();
String Nama = jTnamab.getText().trim();
String Unit = jTunitdpsn.getText().trim();
String Harga = jTtotal.getText().trim();
String Total = jTtotal.getText().trim();
if(Kode.equals("") || Nama.equals("") || Unit.equals("") || Harga.equals("") || Total.equals(""))
JOptionPane.showMessageDialog(this, "Semua isian harus diisi.");
else {
boolean b = false;
int i;
Vector<String> v = new Vector<>();
for (i = 0; i < DB.size(); i++) {
if(DB.get(i).get(1).equals(Kode)) { b = true; break; }
}
if(b){
v.add(DB.get(i).get(0)); v.add(Kode); v.add(Nama); v.add(Unit); v.add(Harga); v.add(Total);
DB.setElementAt(v, i);
updateTabel();
JOptionPane.showMessageDialog(this, "Proses update sukses.");
} else {
v.add(no); v.add(Kode); v.add(Nama); v.add(Unit); v.add(Harga); v.add(Total);
DB.add(v);
updateTabel(); max++;
JOptionPane.showMessageDialog(this, "Proses simpan sukses.");
}
jTkodeb.setText(""); jTnamab.setText(""); jTunitdpsn.setText(""); jThargab.setText(""); jTtotal.setText(""); jTkodeb.setEditable(false);
}
}
private void CBtotalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
updateTabel();
}
private void formWindowClosing(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
simpanData();
dispose();
}
private void btnbaruActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTkodeb.setEditable(true);
jTkodeb.setText(""); jTnamab.setText(""); jTunitdpsn.setText(""); jThargab.setText(""); jTtotal.setText(""); jTkodeb.requestFocus();
}
dan hasilnya seperti ini :
Sekina dari celotehan saya, disini saya juga masih belajar. Terimakasih
Tidak ada komentar:
Posting Komentar