Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javafx.beans.binding.Bindings;
- import javafx.beans.property.ReadOnlyObjectWrapper;
- import javafx.beans.value.ChangeListener;
- import javafx.beans.value.ObservableValue;
- import javafx.collections.*;
- import javafx.fxml.FXMLLoader;
- import javafx.fxml.Initializable;
- import javafx.geometry.Pos;
- import javafx.scene.Parent;
- import javafx.scene.Scene;
- import javafx.scene.control.*;
- import javafx.scene.control.TableView;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.stage.Stage;
- import java.io.IOException;
- import java.net.URL;
- import java.util.ResourceBundle;
- import java.sql.*;
- public class Controller implements Initializable {
- public ObservableList<Data> data;
- public TableView dbTable;
- public TableColumn siteColumn, usernameColumn, passwordColumn;
- public ToggleButton showPasswordToggle;
- @Override
- public void initialize(URL location, ResourceBundle resources) {
- loadTableData();
- }
- public void loadTableData(){
- data = FXCollections.observableArrayList();
- String query = "SELECT * FROM accounts";
- try {
- Connection connection = connectToDatabase();
- ResultSet resultSet = connection.createStatement().executeQuery(query);
- while (resultSet.next()) {
- data.add(new Data(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3)));
- }
- siteColumn.setCellValueFactory(new PropertyValueFactory("site"));
- usernameColumn.setCellValueFactory(new PropertyValueFactory("username"));
- passwordColumn.setCellValueFactory(new PropertyValueFactory("password"));
- dbTable.setItems(data);
- connection.close();
- resultSet.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void addEntry() throws IOException{
- Stage addEntryStage = new Stage();
- Parent root = FXMLLoader.load(getClass().getResource("/addEntryDialog.fxml"));
- addEntryStage.setTitle("Add new entry");
- addEntryStage.setScene(new Scene(root, 400, 200));
- addEntryStage.show();
- }
- public void removeEntry(){
- Data selectedItem = (Data) dbTable.getSelectionModel().getSelectedItem();
- if(selectedItem == null){
- Alert alert = new Alert(Alert.AlertType.WARNING);
- alert.setTitle("Warning Dialog");
- alert.setHeaderText(null);
- alert.setContentText("Please select an item first.");
- alert.showAndWait();
- }
- else{
- try {
- Connection connection = connectToDatabase();
- Statement statement = null;
- String sqlQuery = String.format(
- "DELETE FROM accounts WHERE site = '%s' AND username = '%s';",
- selectedItem.getSite(), selectedItem.getUsername());
- statement = connection.createStatement();
- statement.executeUpdate(sqlQuery);
- loadTableData();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public void showHidePassword(){
- }
- private String mask(String password) {
- String masked = "";
- for(int i = 0; i < password.toString().length(); i++) {
- masked += "u2022";
- }
- return masked;
- }
- public static Connection connectToDatabase() throws SQLException {
- return DriverManager.getConnection("jdbc:sqlite:res/passwordManagerDB.db");
- }
- }
- package sample;
- import javafx.beans.property.SimpleStringProperty;
- import javafx.beans.property.StringProperty;
- public class Data {
- public StringProperty site;
- public StringProperty username;
- public StringProperty password;
- public Data(String site, String username, String password){
- this.site = new SimpleStringProperty(site);
- this.username = new SimpleStringProperty(username);
- this.password = new SimpleStringProperty(password);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement