Pertama Buka Aplikasi Netbeans.
Setelah itu
Membuat projectnya selesai, Terus kita buat framenya.
Source Kode:
private void ramActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(ram.isSelected()){
jTnamab.setText("RAM");
}
}
private void moboActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(mobo.isSelected()){
jTnamab.setText("Motherboard");
}
}
private void mActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(m.isSelected()){
jTnamab.setText("Monitor");
}
}
private void procActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(proc.isSelected()){
jTnamab.setText("Prosesor");
}
}
private void KlikPeralatan(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(hdd.isSelected()){
jTnamab.setText("HardDisk");
}
}
private void drActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(dr.isSelected()){
jTnamab.setText("DVD ROM");
}
}
private void jBProsesActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTabbedPane1.setSelectedIndex(1);
}
import com.itextpdf.text.DocumentException;
import static com.sun.xml.internal.fastinfoset.alphabet.BuiltInRestrictedAlphabets.table;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.StringTokenizer;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
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;
private String fileName = "E:/dataKomputer.txt";
private DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
public Komputer() {
initComponents();
rightRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
bacaData();
updateTabel();
}
private void bacaData(){
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(){
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(){
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() {
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) {
// 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) {
// 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) {
// TODO add your handling code here:
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(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();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null, "Pembayaran telah Siap");
DefaultTableModel mod = (DefaultTableModel) Tabel.getModel();
if(CBtotal.isSelected()){
String[] jud = {"Kode", "Nama", "Unit yang dipesan", "Harga barang", "Total"};
String[][] isi = new String[Tabel.getRowCount()][Tabel.getColumnCount()];
for (int i = 0; i < Tabel.getRowCount(); i++) {
for (int j = 0; j < Tabel.getColumnCount(); j++) {
isi[i][j] = mod.getValueAt(i, j).toString();
}
try {
cetakpembayaran cetak
= new cetakpembayaran(jud, isi, Tabel.getRowCount(), Tabel.getColumnCount());
} catch (FileNotFoundException ex) {
Logger.getLogger(Komputer.class.getName()).log(Level.SEVERE, null, ex);
} catch (DocumentException ex) {
Logger.getLogger(Komputer.class.getName()).log(Level.SEVERE, null, ex);
}
}
}else{
String[] jud = {"Kode", "Nama", "Unit yang dipesan", "Harga barang"};
String[][] isi = new String[Tabel.getRowCount()][Tabel.getColumnCount()];
for (int i = 0; i < Tabel.getRowCount(); i++) {
for (int j = 0; j < Tabel.getColumnCount(); j++) {
isi[i][j] = mod.getValueAt(i, j).toString();
}
try {
cetakpembayaran cetak
= new cetakpembayaran(jud, isi, Tabel.getRowCount(), Tabel.getColumnCount());
} catch (FileNotFoundException ex) {
Logger.getLogger(Komputer.class.getName()).log(Level.SEVERE, null, ex);
} catch (DocumentException ex) {
Logger.getLogger(Komputer.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
Tambahan Untuk Repportnya pakai IText
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
class cetakpembayaran {
cetakpembayaran(String[] jud, String[][] oo, int bar, int col) throws FileNotFoundException, DocumentException {
Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream("ll.pdf"));
PdfPTable pt = new PdfPTable(jud.length);
doc.open();
Paragraph p = new Paragraph("Pembayaran Komputer");
p.setAlignment(Paragraph.ALIGN_CENTER);
p.setSpacingAfter(10);
doc.add(p);
for (int i = 0; i < jud.length; i++) {
pt.addCell(jud[i]);
}
for (int i = 0; i < bar; i++) {
for (int j = 0; j < col; j++) {
pt.addCell(oo[i][j]);
}
}
doc.add(pt);
doc.close();
}
}
Sekian, Kalau Ada yang kurang Mohon Maaf, Terimakasih