Java Swing Data Management App
Java Swing Data Management App
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
try{
Connection conn = (Connection)[Link].koneksi_db();
try (Statement s = [Link]()) {
String sql = "SELECT * FROM tabel_data";
ResultSet rs = [Link](sql);
while([Link]()){
Object[] number = new Object[4];
number [0] = [Link]("kode");
number [1] = [Link]("judul");
number [2] = [Link]("deskripsi");
number [3] = [Link]("status");
[Link](number);
}
[Link]().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
callText(); // Panggil callText() saat pemilihan baris berubah
}
});
}
}catch(SQLException | HeadlessException e){
[Link](null, "Gagal Menampilkan Data!");
}
}
private void autonumber(){
try{
Connection conn = (Connection)[Link].koneksi_db();
try (Statement s = [Link]()) {
String sql = "SELECT * FROM tabel_data ORDER BY kode DESC";
try (ResultSet rs = [Link](sql)) {
if ([Link]()){
String NoUpdate = [Link]("kode").substring(2);
String Nomor = "" + ([Link](NoUpdate) + 1);
String Nol = "";
switch ([Link]()) {
case 1 -> Nol = "00";
case 2 -> Nol = "0";
case 3 -> Nol = "";
default -> {
}
}
[Link](Nol + Nomor);
}else{
[Link]("001");
}
}
}
}catch(NumberFormatException | SQLException e){
[Link](null, "Auto Number Error!");
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
setDefaultCloseOperation([Link].EXIT_ON_CLOSE);
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtKodeActionPerformed(evt);
}
});
[Link]("Kode");
[Link]("Deskripsi");
[Link]("Judul");
[Link]("Status");
[Link]("Tambah");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnTambahActionPerformed(evt);
}
});
[Link]("Edit");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnEditActionPerformed(evt);
}
});
[Link]("Hapus");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnHapusActionPerformed(evt);
}
});
[Link](new [Link](
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
[Link](tblData);
pack();
}// </editor-fold>
if ([Link]().isEmpty() || [Link]().isEmpty() ||
[Link]().isEmpty())
{
[Link](this, "Anda belum mengisi semua kolom yang ada!");
}else{
try{
String SQL = "INSERT INTO tabel_data (kode, judul, deskripsi, status) VALUES ('" +
kode + "', '" +
judul + "', '" + deskripsi + "', '" + status + "')";
[Link] conn = ([Link])[Link].koneksi_db();
[Link] pst = [Link](SQL);
[Link]();
display();
[Link](null, "Data Berhasi Ditambahkan");
clear();
autonumber();
}catch(SQLException | HeadlessException e){
[Link](null, e);
}
} // TODO add your handling code here:
}
// Ambil nilai kode dari kolom pertama yang dipilih (diasumsikan sebagai String)
String kodeToUpdate = (String) [Link](selectedRow, 0);
String kodeBaru = [Link]();
String judulBaru = [Link](); // Ambil judul baru dari JTextField
String deskripsiBaru = [Link](); // Ambil deskripsi baru dari
JTextField
String statusBaru = (String) [Link]();
[Link](kodeBaru);
[Link](judulBaru);
[Link](deskripsiBaru);
[Link](statusBaru);
// Buat perintah SQL UPDATE dengan klausa WHERE sesuai dengan kode yang dipilih
String SQL = "UPDATE tabel_data SET kode=?, judul=?, deskripsi=?, status=? WHERE
kode=?";
if ([Link]().isEmpty() || [Link]().isEmpty() ||
[Link]().isEmpty()) {
[Link](this, "Anda belum mengisi semua kolom yang ada!");
}else{
// Buka koneksi ke database
try (Connection conn = [Link].koneksi_db();
PreparedStatement pst = [Link](SQL)) {
[Link](1, kodeBaru);
[Link](2, judulBaru);
[Link](3, deskripsiBaru);
[Link](4, statusBaru);
[Link](5, kodeToUpdate);
// Eksekusi perintah UPDATE
int updatedRows = [Link]();
if (updatedRows > 0) {
[Link](null, "Data berhasil diubah.");
// Update tabel model di UI
[Link](kodeBaru,selectedRow,0);
[Link](judulBaru, selectedRow, 1);
[Link](deskripsiBaru, selectedRow, 2);
[Link](statusBaru, selectedRow,3);
[Link]();
clear();
} else {
[Link](null, "Gagal mengubah data.");
}
} catch (SQLException e) {
[Link](null, "Error: " + [Link]());
}
} // TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the
default look and feel.
* For details see
[Link]
*/
try {
for ([Link] info :
[Link]()) {
if ("Nimbus".equals([Link]())) {
[Link]([Link]());
break;
}
}
} catch (ClassNotFoundException ex) {
[Link]([Link]()).log([Link]
.[Link], null, ex);
} catch (InstantiationException ex) {
[Link]([Link]()).log([Link]
.[Link], null, ex);
} catch (IllegalAccessException ex) {
[Link]([Link]()).log([Link]
.[Link], null, ex);
} catch ([Link] ex) {
[Link]([Link]()).log([Link]
.[Link], null, ex);
}
//</editor-fold>