Advertisement
Guest User

Untitled

a guest
Feb 28th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. package sample;
  2.  
  3. import javafx.beans.binding.Bindings;
  4. import javafx.beans.property.ReadOnlyObjectWrapper;
  5. import javafx.beans.value.ChangeListener;
  6. import javafx.beans.value.ObservableValue;
  7. import javafx.collections.*;
  8. import javafx.fxml.FXMLLoader;
  9. import javafx.fxml.Initializable;
  10. import javafx.geometry.Pos;
  11. import javafx.scene.Parent;
  12. import javafx.scene.Scene;
  13. import javafx.scene.control.*;
  14. import javafx.scene.control.TableView;
  15. import javafx.scene.control.cell.PropertyValueFactory;
  16. import javafx.stage.Stage;
  17.  
  18. import java.io.IOException;
  19. import java.net.URL;
  20. import java.util.ResourceBundle;
  21. import java.sql.*;
  22.  
  23. public class Controller implements Initializable {
  24. public ObservableList<Data> data;
  25. public TableView dbTable;
  26. public TableColumn siteColumn, usernameColumn, passwordColumn;
  27. public ToggleButton showPasswordToggle;
  28.  
  29. @Override
  30. public void initialize(URL location, ResourceBundle resources) {
  31. loadTableData();
  32. }
  33.  
  34. public void loadTableData(){
  35. data = FXCollections.observableArrayList();
  36. String query = "SELECT * FROM accounts";
  37.  
  38. try {
  39. Connection connection = connectToDatabase();
  40. ResultSet resultSet = connection.createStatement().executeQuery(query);
  41.  
  42. while (resultSet.next()) {
  43. data.add(new Data(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3)));
  44. }
  45.  
  46. siteColumn.setCellValueFactory(new PropertyValueFactory("site"));
  47. usernameColumn.setCellValueFactory(new PropertyValueFactory("username"));
  48. passwordColumn.setCellValueFactory(new PropertyValueFactory("password"));
  49.  
  50. dbTable.setItems(data);
  51.  
  52. connection.close();
  53. resultSet.close();
  54. } catch (SQLException e) {
  55. e.printStackTrace();
  56. }
  57. }
  58.  
  59. public void addEntry() throws IOException{
  60. Stage addEntryStage = new Stage();
  61. Parent root = FXMLLoader.load(getClass().getResource("/addEntryDialog.fxml"));
  62. addEntryStage.setTitle("Add new entry");
  63. addEntryStage.setScene(new Scene(root, 400, 200));
  64. addEntryStage.show();
  65. }
  66.  
  67. public void removeEntry(){
  68. Data selectedItem = (Data) dbTable.getSelectionModel().getSelectedItem();
  69.  
  70.  
  71. if(selectedItem == null){
  72. Alert alert = new Alert(Alert.AlertType.WARNING);
  73. alert.setTitle("Warning Dialog");
  74. alert.setHeaderText(null);
  75. alert.setContentText("Please select an item first.");
  76. alert.showAndWait();
  77. }
  78. else{
  79. try {
  80. Connection connection = connectToDatabase();
  81. Statement statement = null;
  82. String sqlQuery = String.format(
  83. "DELETE FROM accounts WHERE site = '%s' AND username = '%s';",
  84. selectedItem.getSite(), selectedItem.getUsername());
  85.  
  86. statement = connection.createStatement();
  87. statement.executeUpdate(sqlQuery);
  88.  
  89. loadTableData();
  90. } catch (SQLException e) {
  91. e.printStackTrace();
  92. }
  93. }
  94.  
  95. }
  96.  
  97. public void showHidePassword(){
  98.  
  99. }
  100.  
  101.  
  102. private String mask(String password) {
  103. String masked = "";
  104. for(int i = 0; i < password.toString().length(); i++) {
  105. masked += "u2022";
  106. }
  107. return masked;
  108. }
  109.  
  110. public static Connection connectToDatabase() throws SQLException {
  111. return DriverManager.getConnection("jdbc:sqlite:res/passwordManagerDB.db");
  112. }
  113. }
  114.  
  115. package sample;
  116.  
  117. import javafx.beans.property.SimpleStringProperty;
  118. import javafx.beans.property.StringProperty;
  119.  
  120. public class Data {
  121. public StringProperty site;
  122. public StringProperty username;
  123. public StringProperty password;
  124.  
  125.  
  126. public Data(String site, String username, String password){
  127. this.site = new SimpleStringProperty(site);
  128. this.username = new SimpleStringProperty(username);
  129. this.password = new SimpleStringProperty(password);
  130. }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement