Last active
December 10, 2015 13:59
-
-
Save nugraha16/4444974 to your computer and use it in GitHub Desktop.
Membuat No Urut di Table,create autonumber in jtable
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package penjualanku; | |
import javax.swing.*; | |
import javax.swing.table.DefaultTableModel; | |
import java.awt.*; | |
import java.awt.event.*; | |
import javax.sql.*; | |
import com.jtattoo.plaf.mcwin.*; | |
import java.sql.Connection; | |
import java.sql.DriverManager; | |
import java.sql.ResultSet; | |
import java.sql.Statement; | |
//Anugrah Bagus Susilo | |
public class EntryPelanggan extends JFrame implements ActionListener,MouseListener{ | |
Dimension Layar = Toolkit.getDefaultToolkit().getScreenSize(); | |
private JLabel lblNoPelanggan = new JLabel("Nomer Pelanggan"); | |
private JTextField txtNoPelanggan = new JTextField(20); | |
private JLabel lblNmPelanggan = new JLabel("Nama Pelanggan"); | |
private JTextField txtNmPelanggan = new JTextField(20); | |
private JLabel lblAlmtPelanggan = new JLabel("Alamat Pelanggan"); | |
private JTextField txtAlmtPelanggan = new JTextField(20); | |
private JLabel lblNoTelp = new JLabel("Nomer Telepon"); | |
private JTextField txtNoTelp = new JTextField(20); | |
private JLabel lblNoFax = new JLabel("Nomer Fax"); | |
private JTextField txtNoFax = new JTextField(20); | |
//private JButton btncari = new JButton(new ImageIcon("src/penjualanku/image/cari.jpeg")); | |
//private JTextField txtCari = new JTextField(); | |
private JButton btnBaru = new JButton("Baru",new ImageIcon("src/penjualanku/image/baru.jpeg")); | |
private JButton btnUbah = new JButton("Ubah",new ImageIcon("src/penjualanku/image/edit.jpeg")); | |
private JButton btnHapus = new JButton("Hapus",new ImageIcon("src/penjualanku/image/hapus.jpeg")); | |
private JButton btnKeluar = new JButton("Keluar",new ImageIcon("src/penjualanku/image/close.jpeg")); | |
private JLabel gambar = new JLabel(new ImageIcon("src/penjualanku/imageomd.jpeg")); | |
private String[] JdlTabel = {"","No_Plgn","Nama_Plgn","Almt_Plgn","No_Telp","No_Fax"}; | |
DefaultTableModel tabModel; | |
JTable tabel = new JTable(); | |
JScrollPane scrTabel = new JScrollPane(); | |
//Methods Declarations | |
public EntryPelanggan (){ | |
super("Entry Pelanggan"); | |
setIconImage(getToolkit().getImage("src/penjualanku/image/user.jpeg")); | |
setSize(550,480); | |
setVisible(true); | |
getContentPane().setLayout(null); | |
setLocationRelativeTo(null); | |
setDefaultCloseOperation(DISPOSE_ON_CLOSE); | |
tabModel = new DefaultTableModel(null,JdlTabel); | |
tabel.setModel(tabModel); | |
scrTabel.getViewport().add(tabel); | |
tabel.setEnabled(true); | |
scrTabel.setBounds(10, 190, 500, 120); | |
lblNoPelanggan.setBounds(10,20,150,20); | |
txtNoPelanggan.setBounds(150,20,150,20); | |
txtNoPelanggan.setEnabled(false); | |
lblNmPelanggan.setBounds(10,50,150,20); | |
txtNmPelanggan.setBounds(150,50,150,20); | |
lblAlmtPelanggan.setBounds(10,80,150,20); | |
txtAlmtPelanggan.setBounds(150,80,150,20); | |
lblNoTelp.setBounds(10,110,150,20); | |
txtNoTelp.setBounds(150,110,150,20); | |
lblNoFax.setBounds(10,140,150,20); | |
txtNoFax.setBounds(150,140,150,20); | |
//btncari.setBounds(10, 400, 40, 30); | |
//txtCari.setBounds(130,400,150,20); | |
btnBaru.setBounds(10,320,100,30); | |
btnUbah.setBounds(110,320,100,30); | |
btnHapus.setBounds(210,320,110,30); | |
btnKeluar.setBounds(320,320,115,30); | |
gambar.setBounds(300,30,240,108); | |
getContentPane().add(lblNoPelanggan); | |
getContentPane().add(txtNoPelanggan); | |
getContentPane().add(lblNmPelanggan); | |
getContentPane().add(txtNmPelanggan); | |
getContentPane().add(lblAlmtPelanggan); | |
getContentPane().add(txtAlmtPelanggan); | |
getContentPane().add(lblNoTelp); | |
getContentPane().add(txtNoTelp); | |
getContentPane().add(lblNoFax); | |
getContentPane().add(txtNoFax); | |
getContentPane().add(scrTabel); | |
//getContentPane().add(btncari); | |
//getContentPane().add(txtCari); | |
getContentPane().add(btnBaru); | |
getContentPane().add(btnUbah); | |
getContentPane().add(btnHapus); | |
getContentPane().add(btnKeluar); | |
getContentPane().add(gambar); | |
btnBaru.addActionListener(this); | |
btnUbah.addActionListener(this); | |
btnHapus.addActionListener(this); | |
btnKeluar.addActionListener(this); | |
//txtCari.addActionListener(this); | |
tabel.addMouseListener(this); | |
TampilkeTabel(); | |
autonumber(); | |
} | |
@Override | |
public void mouseClicked(MouseEvent arg0) { | |
getDataTabel(); | |
} | |
@Override | |
public void mouseEntered(MouseEvent arg0) { | |
} | |
@Override | |
public void mouseExited(MouseEvent arg0) { | |
} | |
@Override | |
public void mousePressed(MouseEvent arg0) { | |
} | |
@Override | |
public void mouseReleased(MouseEvent arg0) { | |
} | |
@Override | |
public void actionPerformed(ActionEvent e) { | |
/*if(e.getSource() == txtCari){ | |
cariPelanggan(); | |
}*/ | |
if(e.getSource() == btnBaru){ | |
TambahPelanggan(); | |
} | |
if(e.getSource() == btnUbah){ | |
UbahPelanggan(); | |
} | |
if(e.getSource() == btnHapus){ | |
HapusPelanggan(); | |
} | |
if(e.getSource() == btnKeluar){ | |
try { | |
int reply = JOptionPane.showConfirmDialog (this, | |
"Yakin Mau Keluar?", | |
"Sistem Penjualan - Keluar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); | |
if (reply == JOptionPane.YES_OPTION) { | |
setVisible (false); //Menyembunyikan Frame. | |
dispose(); //Membersihkan Resource dari system memori | |
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Membebaskan aplikasi dari memori | |
//System.exit (0); //Keluar dari Aplikasi. | |
} | |
} | |
catch (Exception ex) { | |
} | |
} | |
} | |
/*void cariPelanggan(){ | |
try{ | |
Class.forName("com.mysql.jdbc.Driver").newInstance(); | |
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); | |
Statement state = con.createStatement(); | |
String sql = "Select * from pelanggan where NoPelanggan like '%" + txtCari.getText() + "%'" + | |
"or NmPelanggan like '%" + txtCari.getText() + "%'"; | |
ResultSet rs = state.executeQuery(sql); | |
while (rs.next()) { | |
tabModel.addRow(new Object[]{ | |
rs.getString(1), | |
rs.getString(2), | |
rs.getString(3), | |
rs.getString(4), | |
rs.getString(5) | |
}); | |
} | |
tabel.setModel(tabModel); | |
}catch (Exception e){ | |
} | |
}*/ | |
void autonumber(){ | |
try{ | |
Class.forName("com.mysql.jdbc.Driver").newInstance(); | |
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); | |
Statement state = con.createStatement(); | |
String sql = "select max(NoPelanggan) from pelanggan"; | |
ResultSet rs = state.executeQuery(sql); | |
while(rs.next()) | |
{ | |
int a = rs.getInt(1); | |
txtNoPelanggan.setText("000"+Integer.toString(a+1)); | |
} | |
rs.close(); | |
con.close(); | |
} | |
catch(Exception ex){ | |
} | |
} | |
void getDataTabel(){ | |
txtNoPelanggan.setText(""+tabModel.getValueAt(tabel.getSelectedRow(),1)); | |
txtNmPelanggan.setText(""+tabModel.getValueAt(tabel.getSelectedRow(),2)); | |
txtAlmtPelanggan.setText(""+tabModel.getValueAt(tabel.getSelectedRow(),3)); | |
txtNoTelp.setText(""+tabModel.getValueAt(tabel.getSelectedRow(),4)); | |
txtNoFax.setText(""+tabModel.getValueAt(tabel.getSelectedRow(),5)); | |
} | |
void TampilkeTabel(){ | |
try{ | |
hapusTabel(); | |
Class.forName("com.mysql.jdbc.Driver").newInstance(); | |
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan", "root", "root"); | |
Statement state = con.createStatement(); | |
String sql = "select * from pelanggan "; | |
ResultSet rs = state.executeQuery(sql); | |
while(rs.next()) | |
{ | |
String VNoPelanggan = rs.getString("NoPelanggan"); | |
String VNmPelanggan = rs.getString("NmPelanggan"); | |
String VAlmtPelanggan = rs.getString("AlmtPelanggan"); | |
String VNoTelp = rs.getString("NoTelp"); | |
String VNoFax = rs.getString("NoFax"); | |
String[] data = {"",VNoPelanggan,VNmPelanggan,VAlmtPelanggan,VNoTelp,VNoFax}; | |
tabModel.addRow(data); | |
NoUrut(); | |
autonumber(); | |
Kosong(); | |
} | |
rs.close(); | |
con.close(); | |
} | |
catch(Exception ex){ | |
} | |
} | |
void hapusTabel(){ | |
int brs = tabModel.getRowCount(); | |
for(int i=0;i<brs;i++){ | |
tabModel.removeRow(0); | |
} | |
} | |
void NoUrut(){ | |
int brs = tabModel.getRowCount(); | |
for(int i=0;i<brs;i++){ | |
String no = String.valueOf(i+1); | |
tabModel.setValueAt(no+".",i,0); | |
} | |
} | |
void TambahPelanggan(){ | |
try{ | |
Class.forName("com.mysql.jdbc.Driver").newInstance(); | |
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan","root","root"); | |
Statement st = con.createStatement(); | |
String sql = "insert into pelanggan values('"+txtNoPelanggan.getText()+ | |
"','"+txtNmPelanggan.getText()+ | |
"','"+txtAlmtPelanggan.getText()+ | |
"','"+txtNoTelp.getText()+ | |
"','"+txtNoFax.getText()+"')"; | |
int hasil = st.executeUpdate(sql); | |
if(hasil>0) | |
JOptionPane.showMessageDialog(null,"Data Pelanggan berhasil di tambah","Pesan",JOptionPane.INFORMATION_MESSAGE); | |
con.close(); | |
TampilkeTabel(); | |
//Kosong();*/ | |
} | |
catch(Exception ex){ | |
JOptionPane.showConfirmDialog(null, "Data Pelanggan gagal di tambah"); | |
} | |
} | |
void UbahPelanggan(){ | |
try{ | |
Class.forName("com.mysql.jdbc.Driver").newInstance(); | |
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/penjualan","root", "root"); | |
Statement state = con.createStatement(); | |
String sql = "update pelanggan set NmPelanggan ='"+txtNmPelanggan.getText()+ | |
"',AlmtPelanggan ='"+txtAlmtPelanggan.getText()+ | |
"',NoTelp ='"+txtNoTelp.getText()+ | |
"',NoFax ='"+txtNoFax.getText()+ | |
"'where NoPelanggan ='"+txtNoPelanggan.getText()+"'"; | |
int vHasil = state.executeUpdate(sql); | |
if(vHasil==0) | |
JOptionPane.showMessageDialog(null, "Data Pelanggan berhasil di Ubah", "Pesan", JOptionPane.INFORMATION_MESSAGE); | |
con.close(); | |
TampilkeTabel(); | |
} | |
catch(Exception ex){ | |
JOptionPane.showConfirmDialog(null, "Data Pelanggan gagal di ubah"); | |
} | |
} | |
void HapusPelanggan(){ | |
try{ | |
String className = "com.mysql.jdbc.Driver"; | |
String url = "jdbc:mysql://localhost/penjualan"; | |
String user = "root"; | |
String password = "root"; | |
Class.forName(className).newInstance(); | |
Connection koneksi = DriverManager.getConnection(url, user, password); | |
Statement state = koneksi.createStatement(); | |
String query = "delete from pelanggan where NoPelanggan = '"+txtNoPelanggan.getText()+"' "; | |
int Result = state.executeUpdate(query); | |
if(Result==1){ | |
JOptionPane.showConfirmDialog(null, "Data Pelanggan berhasil di hapus"); | |
TampilkeTabel(); | |
koneksi.close(); | |
Kosong(); | |
} | |
}catch (Exception e) { | |
JOptionPane.showConfirmDialog(null, "Data Pelanggan gagal di hapus"); | |
} | |
} | |
void Kosong(){ | |
//txtNoPelanggan.setText(""); | |
txtNmPelanggan.setText(""); | |
txtAlmtPelanggan.setText(""); | |
txtNoTelp.setText(""); | |
txtNoFax.setText(""); | |
} | |
public static void main(String [] args){ | |
try{ | |
UIManager.setLookAndFeel(new McWinLookAndFeel()); | |
} | |
catch (UnsupportedLookAndFeelException e){ | |
//handle exception | |
} | |
new EntryPelanggan(); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment