0% found this document useful (0 votes)
6 views9 pages

Java Swing Data Management App

Uploaded by

sangadjiindah8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views9 pages

Java Swing Data Management App

Uploaded by

sangadjiindah8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

package frame;

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class mainframe extends [Link] {


private DefaultTableModel model;
public mainframe() {
initComponents();
initTableModel();
display();
autonumber();
}

private void initTableModel() {


model = new DefaultTableModel(new String[]{"Kode", "Judul", "Deskripsi",
"Status"}, 0);
[Link](model);
}

private void display(){


[Link]().removeAllElements();
[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!");
}
}

private void callText(){


int selectedRow = [Link]();
if (selectedRow != -1) {
DefaultTableModel model = (DefaultTableModel) [Link]();
String kode = [Link](selectedRow, 0).toString();
String judul = [Link](selectedRow, 1).toString();
String deskripsi = [Link](selectedRow, 2).toString();
String status = [Link](selectedRow, 3).toString();
[Link](kode);
[Link](judul);
[Link](deskripsi);
[Link](status);
}
}

private void clear(){


[Link]("");
[Link]("");
}
public mainframe() {
initComponents();
}

/**
* 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">

private void initComponents() {

txtKode = new [Link]();


jLabel1 = new [Link]();
jLabel2 = new [Link]();
jLabel3 = new [Link]();
txtDeskripsi = new [Link]();
txtJudul = new [Link]();
boxStatus = new [Link]<>();
jLabel4 = new [Link]();
btnTambah = new [Link]();
btnEdit = new [Link]();
btnHapus = new [Link]();
jScrollPane1 = new [Link]();
tblData = new [Link]();

setDefaultCloseOperation([Link].EXIT_ON_CLOSE);

[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtKodeActionPerformed(evt);
}
});

[Link]("Kode");

[Link]("Deskripsi");

[Link]("Judul");

[Link](new [Link]<>(new String[]


{ "Selesai", "Belum Selesai" }));

[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);

[Link] layout = new


[Link](getContentPane());
getContentPane().setLayout(layout);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGap(29, 29, 29)
.addGroup([Link]([Link]
[Link])
.addComponent(jLabel2, [Link].PREFERRED_SIZE,
50, [Link].PREFERRED_SIZE)
.addGroup([Link]()
.addGroup([Link]([Link]
[Link], false)
.addComponent(jLabel1,
[Link].DEFAULT_SIZE, [Link].DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel3,
[Link].DEFAULT_SIZE, 50, Short.MAX_VALUE)
.addComponent(jLabel4,
[Link].DEFAULT_SIZE, [Link].DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup([Link]([Link]
[Link])
.addGroup([Link]()
.addGap(42, 42, 42)
.addGroup([Link]([Link]
[Link])
.addComponent(txtDeskripsi,
[Link].PREFERRED_SIZE, [Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addComponent(txtKode,
[Link].PREFERRED_SIZE, [Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)))
.addGroup([Link]()
.addPreferredGap([Link]
[Link])
.addComponent(boxStatus,
[Link].PREFERRED_SIZE, [Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link]
[Link], [Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnTambah)
.addGap(24, 24, 24)
.addComponent(btnEdit)
.addPreferredGap([Link]
[Link])
.addComponent(btnHapus)))))
.addGap(9, 9, 9))
.addGroup([Link]()
.addGap(17, 17, 17)
.addComponent(jScrollPane1, [Link].PREFERRED_SIZE,
440, [Link].PREFERRED_SIZE)
.addContainerGap(24, Short.MAX_VALUE))
.addGroup([Link]([Link].
LEADING)
.addGroup([Link]()
.addGap(131, 131, 131)
.addComponent(txtJudul, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addContainerGap(286, Short.MAX_VALUE)))
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGap(15, 15, 15)
.addGroup([Link]([Link]
[Link])
.addComponent(txtKode, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap([Link]
)
.addComponent(jLabel3)
.addGroup([Link]([Link]
[Link])
.addGroup([Link]()
.addGap(17, 17, 17)
.addComponent(jLabel2))
.addGroup([Link]()
.addGap(25, 25, 25)
.addComponent(txtDeskripsi,
[Link].PREFERRED_SIZE, [Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)))
.addGroup([Link]([Link]
[Link])
.addGroup([Link]()
.addPreferredGap([Link]
.UNRELATED)
.addComponent(btnHapus))
.addGroup([Link]()
.addGap(16, 16, 16)
.addGroup([Link]([Link]
[Link])
.addGroup([Link]([Link]
[Link])
.addComponent(boxStatus,
[Link].PREFERRED_SIZE, [Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addComponent(btnTambah)
.addComponent(btnEdit))
.addComponent(jLabel4))))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, [Link].PREFERRED_SIZE,
275, [Link].PREFERRED_SIZE)
.addContainerGap([Link].DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup([Link]([Link].
LEADING)
.addGroup([Link]()
.addGap(53, 53, 53)
.addComponent(txtJudul, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addContainerGap(369, Short.MAX_VALUE)))
);

pack();
}// </editor-fold>

private void btnTambahActionPerformed([Link] evt) {

String kode = [Link]();


String judul = [Link]();
String deskripsi = [Link]();
String status = (String) [Link]();

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:
}

private void txtKodeActionPerformed([Link] evt) {

// TODO add your handling code here:


}

private void btnEditActionPerformed([Link] evt) {

int selectedRow = [Link]();


if (selectedRow != -1) {
// Hapus baris dari model tabel
DefaultTableModel model = (DefaultTableModel) [Link]();
try {
// Ambil nilai kode dari kolom pertama yang dipilih (diasumsikan sebagai String)
String kodeToDelete = (String) [Link](selectedRow, 0);
// Buat perintah SQL DELETE dengan klausa WHERE sesuai dengan kode yang dipilih
String SQL = "DELETE FROM tabel_data WHERE kode=?";
// Buka koneksi ke database
try (Connection conn = [Link].koneksi_db();
PreparedStatement pst = [Link](SQL)) {
[Link](1, kodeToDelete);
// Eksekusi perintah DELETE
int deletedRows = [Link]();
// Periksa jika ada baris yang berhasil dihapus
if (deletedRows > 0) {
// Hapus baris dari model tabel di UI
[Link](selectedRow);
[Link](null, "Data berhasil dihapus.");
clear();
} else {
[Link](null, "Gagal menghapus data.");
}
autonumber();
} catch (SQLException e) {
[Link](null, "Error: " + [Link]());
}
} catch (ClassCastException | NullPointerException e) {
[Link](null, "Error: " + [Link]());
}
} else {
[Link](this, "Pilih baris yang ingin dihapus.");
} // TODO add your handling code here:
}

private void btnHapusActionPerformed([Link] evt) {

int selectedRow = [Link]();


if (selectedRow != -1) {
// Hapus baris dari model tabel
DefaultTableModel model = (DefaultTableModel) [Link]();
try {

// 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>

/* Create and display the form */


[Link](new Runnable() {
public void run() {
new mainframe().setVisible(true);
}
});
}

// Variables declaration - do not modify


private [Link]<String> boxStatus;
private [Link] btnEdit;
private [Link] btnHapus;
private [Link] btnTambah;
private [Link] jLabel1;
private [Link] jLabel2;
private [Link] jLabel3;
private [Link] jLabel4;
private [Link] jScrollPane1;
private [Link] tblData;
private [Link] txtDeskripsi;
private [Link] txtJudul;
private [Link] txtKode;
// End of variables declaration
}

You might also like