Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.09 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package CipherSecurity.CipherSecurity;
  7.  
  8. import CipherSecurity.Methods.RSA;
  9. import java.io.BufferedReader;
  10. import java.io.BufferedWriter;
  11. import java.io.File;
  12. import java.io.FileNotFoundException;
  13. import java.io.FileReader;
  14. import java.io.FileWriter;
  15. import java.io.IOException;
  16. import java.util.ArrayList;
  17. import java.util.Iterator;
  18. import java.util.List;
  19. import java.util.logging.Level;
  20. import java.util.logging.Logger;
  21. import javafx.event.ActionEvent;
  22. import javafx.event.EventHandler;
  23. import javafx.geometry.Insets;
  24. import javafx.scene.Scene;
  25. import javafx.scene.control.Button;
  26. import javafx.scene.control.Label;
  27. import javafx.scene.control.ScrollPane;
  28. import javafx.scene.input.MouseEvent;
  29. import javafx.scene.layout.Background;
  30. import javafx.scene.layout.BackgroundFill;
  31. import javafx.scene.layout.BackgroundImage;
  32. import javafx.scene.layout.BackgroundPosition;
  33. import javafx.scene.layout.BackgroundRepeat;
  34. import javafx.scene.layout.BackgroundSize;
  35. import javafx.scene.layout.BorderPane;
  36. import javafx.scene.layout.CornerRadii;
  37. import javafx.scene.layout.GridPane;
  38. import javafx.scene.layout.HBox;
  39. import javafx.scene.layout.StackPane;
  40. import javafx.scene.layout.VBox;
  41. import javafx.scene.paint.Color;
  42. import javafx.scene.text.Font;
  43. import javafx.scene.text.FontWeight;
  44. import javafx.scene.text.Text;
  45. import javafx.stage.Stage;
  46.  
  47. /**
  48. *
  49. * @author Jacob
  50. */
  51. public class GUISitePage implements IGUIClass {
  52.  
  53. BorderPane borderRoot;
  54. Scene scene;
  55. public static List<UserNamePassword> siteList = new ArrayList<UserNamePassword>();
  56. public static FileContentConverter testContent = null;
  57.  
  58. public GUISitePage() {
  59. borderRoot = new BorderPane();
  60. scene = new Scene(borderRoot, 400, 500);
  61. }
  62.  
  63. @Override
  64. public final ArrayList<Object> GUICode(Object[] args) {
  65.  
  66. ArrayList<Object> pressables = new ArrayList<Object>();
  67.  
  68. // Find out the Username System
  69. System.out.println("Incoming Profile Username(from Login/Textfield): " + args[0]);
  70.  
  71. Label label = new Label();
  72. //label.setText("Cipher Security");
  73. label.setText("Stored Sites");
  74. String font = "Times New Roman";
  75.  
  76. Button editBtn = new Button();
  77. editBtn.setText("Edit");
  78. editBtn.setOnAction(new EventHandler<ActionEvent>() {
  79.  
  80. @Override
  81. public void handle(ActionEvent event) {
  82.  
  83. System.out.println("Edit");
  84. }
  85. });
  86.  
  87. Button newBtn = new Button();
  88. newBtn.setText("New");
  89. newBtn.setOnAction(new EventHandler<ActionEvent>() {
  90.  
  91. @Override
  92. public void handle(ActionEvent event) {
  93. System.out.println("Outgoing Profile Username (to New Site): " + args[0]);
  94.  
  95. GUINewSite GUINSPage = (GUINewSite) args[7];
  96.  
  97. GUINSPage.GUICode(args);
  98. GUINSPage.show((Stage) args[1]);
  99.  
  100. System.out.println("New");
  101. }
  102. });
  103.  
  104. // StackPane root = new StackPane();
  105. // root.getChildren().add(label);
  106. // root.getChildren().add(btn);
  107. GridPane resultsPane = new GridPane();
  108. VBox siteVBox = new VBox();
  109.  
  110. ScrollPane siteScrPane = new ScrollPane();
  111. BorderPane settingsOpenPane = new BorderPane();
  112. BorderPane editNew = new BorderPane();
  113. HBox editNewHor = new HBox();
  114.  
  115. //borderRoot.setCenter(resultsPane);
  116. borderRoot.setCenter(siteVBox);
  117. //borderRoot.setLeft(siteScrPane);
  118. borderRoot.setTop(settingsOpenPane);
  119. borderRoot.setBottom(editNew);
  120. borderRoot.setPadding(new Insets(0, 10, 0, 10));
  121.  
  122. // Top Blue Section
  123. Font lblFont = new Font(font, 32.00);
  124. label.setFont(lblFont);
  125.  
  126. label.setTextFill(Color.WHITE);
  127. settingsOpenPane.setLeft(label);
  128. settingsOpenPane.setBackground(new Background(new BackgroundFill(
  129. Color.CORNFLOWERBLUE, CornerRadii.EMPTY, Insets.EMPTY)));
  130. //settingsOpenPane.setRight(settingsBtn);
  131. settingsOpenPane.setPadding(new Insets(10, 10, 10, 10));
  132.  
  133. // END TOP PANE
  134. editNew.setRight(editNewHor);
  135. //editNewHor.getChildren().add(editBtn);
  136.  
  137. Button backBtn = new Button();
  138. backBtn.setText("Back");
  139.  
  140. backBtn.setOnMouseClicked(new EventHandler<MouseEvent>() {
  141.  
  142. @Override
  143. public void handle(MouseEvent event) {
  144. GUILogin editPage = (GUILogin) args[4];
  145. editPage.GUICode(args);
  146. editPage.show((Stage) args[1]);
  147. }
  148. });
  149.  
  150. editNewHor.getChildren().add(backBtn);
  151. editNewHor.getChildren().add(newBtn);
  152.  
  153. editNewHor.setPadding(new Insets(10, 10, 10, 10));
  154. editNewHor.setSpacing(10.00);
  155.  
  156. siteVBox.setPadding(new Insets(10, 10, 10, 10));
  157.  
  158. //siteScrPane.setContent(siteVBox);
  159. resultsPane.setHgap(10);
  160. resultsPane.setVgap(10);
  161. resultsPane.setPadding(new Insets(20, 20, 20, 20));
  162.  
  163. Text usrNameTitle = new Text("User Name:");
  164. usrNameTitle.setFont(Font.font(font, FontWeight.BOLD, 20));
  165. resultsPane.add(usrNameTitle, 1, 0);
  166.  
  167. Text usrNameText = new Text("");
  168. usrNameText.setFont(Font.font(font, FontWeight.BOLD, 20));
  169. resultsPane.add(usrNameText, 2, 0);
  170.  
  171. Text passwordTitle = new Text("Password:");
  172. passwordTitle.setFont(Font.font(font, FontWeight.BOLD, 20));
  173. resultsPane.add(passwordTitle, 1, 1);
  174.  
  175. Text passwordText = new Text(""); // Additional Information
  176. passwordText.setFont(Font.font(font, FontWeight.BOLD, 20));
  177. resultsPane.add(passwordText, 2, 1);
  178.  
  179. // Site Load and Display
  180. try {
  181. testContent = new FileContentConverter("testFile");
  182. } catch (FileNotFoundException ex) {
  183. Logger.getLogger(GUISitePage.class.getName()).log(Level.SEVERE, null, ex);
  184. }
  185.  
  186. //------------------------------------------------------------------------------------------------------------------------------------------
  187. siteList = testContent.getSites();
  188. Iterator siteListIter = siteList.iterator();
  189.  
  190. pressables.add(siteVBox);
  191. pressables.add(newBtn);
  192. pressables.add(siteList);
  193. pressables.add(backBtn);
  194.  
  195. List<Text> siteTxts = new ArrayList<Text>();
  196.  
  197. int i = 0;
  198. while (siteListIter.hasNext()) {
  199. Text siteTxt = new Text();
  200.  
  201. // usrNamePass is iterator through Converted File
  202. UserNamePassword usrNamePass = (UserNamePassword) siteListIter.next();
  203. // New
  204. siteTxt.setFont(new Font(font, 24.00));
  205. //siteTxt.setFill(Color.STEELBLUE); // Font Color
  206. // End New
  207. siteTxt.setText(usrNamePass.getSiteName());
  208.  
  209. siteTxt.setOnMouseClicked(new EventHandler<MouseEvent>() {
  210.  
  211. @Override
  212. public void handle(MouseEvent event) {
  213. System.out.println("Outgoing Profile Username (to SiteData pre-FileIterator): " + args[0]);
  214.  
  215. args[0] = usrNamePass; // Setting args[0] to Converted File Iterator
  216. System.out.println("Outgoing Profile Username (to SiteData post-FileIterator): " + usrNamePass);
  217.  
  218. GUIUnamePassPage GUPPage = (GUIUnamePassPage) args[2];
  219. GUPPage.GUICode(args);
  220. GUPPage.show((Stage) args[1]);
  221. }
  222. });
  223.  
  224. siteTxts.add(siteTxt);
  225.  
  226. siteVBox.getChildren().add(siteTxts.get(i));
  227.  
  228. i++;
  229. }
  230.  
  231. BackgroundImage myBI = new BackgroundImage(new javafx.scene.image.Image(getClass().getResource("Background.jpg").toExternalForm()),
  232. BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT,
  233. BackgroundSize.DEFAULT);
  234.  
  235. borderRoot.setStyle("-fx-background-color: white");
  236.  
  237. // Other Colors
  238. // #f0f8ff Super Light Blue
  239. // lightblue
  240. // #fffff0 Ivory
  241. // #ffefd5 Beige-ish
  242. // #fff5ee Seashell (Light, light, brown)
  243. // #fffaf0 More brown white
  244. // #fffaf0 Floral White (Good)
  245. // Set BG to Image
  246. //borderRoot.setBackground(new Background(myBI));
  247. //Button[] btnArr = (Button[])siteBtns.toArray();
  248. return pressables;
  249. }
  250.  
  251. public static void editList(UserNamePassword yes) {
  252. testContent.clearList();
  253. for (UserNamePassword current : siteList) {
  254. if (current.getSiteName().equals(yes.getSiteName())) {
  255. current.setUserName(yes.getUserName());
  256. current.setPassword(yes.getPassword());
  257. System.out.println(siteList.get(0).getUserName());
  258. }
  259.  
  260. RSA dec = new RSA();
  261. String path = "src/CipherSecurity/LockedUpSaves.txt";
  262. File file = new File(path);
  263.  
  264. try {
  265.  
  266. BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
  267.  
  268. String sName = (dec.convert(current.getSiteName(), 'e'));
  269. String uName = (dec.convert(current.getUserName(), 'e'));
  270. String pWord = (dec.convert(current.getPassword(), 'e'));
  271.  
  272. writer.write(String.format("%s,%s,%s", sName, uName, pWord));
  273. writer.newLine();
  274. writer.close();
  275. } catch (IOException e) {
  276. System.out.println("Can't write, too full");
  277. }
  278.  
  279. }
  280.  
  281. }
  282.  
  283. @Override
  284. public final void show(Stage s) {
  285. //s.setTitle("Cipher Security: Password Saver");
  286. s.setTitle("PassSafe: Password Saver");
  287. s.setScene(scene);
  288. s.show();
  289.  
  290. }
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement