Quick actions

cmd+k|ctrl+k

Navigation

Languages

FinalExam - BAD

Snippet info

Language

Java

Visibility

public

Author

indra.kenward97

Created

2023-05-21T10:51:38.744091Z

Updated

2023-05-21T10:57:33.385191Z

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import your.package.name.KueDAO;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MainApp extends Application {
    private Connection connection;
    private JenisKueDAO jenisKueDAO;
    private KueDAO kueDAO;

    private ObservableList<JenisKue> jenisKueList;
    private ObservableList<Kue> kueList;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // Membuat koneksi ke database
        try {
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/nama_database", "username", "password");
            jenisKueDAO = new JenisKueDAO(connection);
            kueDAO = new KueDAO(connection);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // Menginisialisasi data awal
        try {
            jenisKueList = FXCollections.observableArrayList(jenisKueDAO.getAll());
            kueList = FXCollections.observableArrayList(kueDAO.getAll());
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // Membuat antarmuka pengguna
        BorderPane root = new BorderPane();
        root.setPadding(new Insets(10));

        TableView<JenisKue> jenisKueTableView = new TableView<>(jenisKueList);
        TableColumn<JenisKue, Integer> jenisKueIdColumn = new TableColumn<>("ID");
        jenisKueIdColumn.setCellValueFactory(cellData -> cellData.getValue().idProperty().asObject());
        TableColumn<JenisKue, String> jenisKueNamaColumn = new TableColumn<>("Nama");
        jenisKueNamaColumn.setCellValueFactory(cellData -> cellData.getValue().namaProperty());
        jenisKueTableView.getColumns().addAll(jenisKueIdColumn, jenisKueNamaColumn);

        TableView<Kue> kueTableView = new TableView<>(kueList);
        TableColumn<Kue, Integer> kueIdColumn = new TableColumn<>("ID");
        kueIdColumn.setCellValueFactory(cellData -> cellData.getValue().idProperty().asObject());
        TableColumn<Kue, String> kueNamaColumn = new TableColumn<>("Nama");
        kueNamaColumn.setCellValueFactory(cellData -> cellData.getValue().namaProperty());
        TableColumn<Kue, JenisKue> kueJenisColumn = new TableColumn<>("Jenis");
        kueJenisColumn.setCellValueFactory(cellData -> cellData.getValue().jenisProperty());
        TableColumn<Kue, Integer> kueQtyColumn = new TableColumn<>("Qty");
        kueQtyColumn.setCellValueFactory(cellData -> cellData.getValue().qtyProperty().asObject());
        TableColumn<Kue, Double> kueHargaJualColumn = new TableColumn<>("Harga Jual");
        kueHargaJualColumn.setCellValueFactory(cellData -> cellData.getValue().hargaJualProperty().asObject());
        kueTableView.getColumns().addAll(kueIdColumn, kueNamaColumn, kueJenisColumn, kueQtyColumn, kueHargaJualColumn);

        Button refreshButton = new Button("Refresh");
        refreshButton.setOnAction(event -> {
            try {
                jenisKueList.setAll(jenisKueDAO.getAll());
                kueList.setAll(kueDAO.getAll());
            } catch (SQLException e) {
                e.printStackTrace();
            }
        });

        VBox vbox = new VBox(10);
        vbox.setPadding(new Insets(10));
        vbox.getChildren().addAll(refreshButton, jenisKueTableView, kueTableView);

        root.setCenter(vbox);

        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Aplikasi CRUD");
        primaryStage.show();
    }

    @Override
    public void stop() {
        // Menutup koneksi database saat aplikasi berhenti
        try {
            if (connection != null && !connection.isClosed()) {
                connection.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
INFO