Advertisement
Guest User

Untitled

a guest
Aug 8th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.29 KB | None | 0 0
  1.  
  2. import java.awt.BorderLayout;
  3. import java.awt.Choice;
  4. import java.awt.Color;
  5. import java.awt.Dimension;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.event.MouseListener;
  10. import java.io.File;
  11. import java.io.FileInputStream;
  12. import java.io.FileOutputStream;
  13. import java.io.IOException;
  14. import java.io.ObjectInputStream;
  15. import java.io.ObjectOutputStream;
  16. import java.util.ArrayList;
  17. import java.util.Arrays;
  18. import java.util.Vector;
  19. import javax.swing.BoxLayout;
  20. import javax.swing.DefaultListModel;
  21. import javax.swing.JButton;
  22. import javax.swing.JFileChooser;
  23. import javax.swing.JFrame;
  24. import javax.swing.JLabel;
  25. import javax.swing.JList;
  26. import javax.swing.JMenu;
  27. import javax.swing.JMenuBar;
  28. import javax.swing.JMenuItem;
  29. import javax.swing.JOptionPane;
  30. import javax.swing.JPanel;
  31. import javax.swing.JPasswordField;
  32. import javax.swing.JPopupMenu;
  33. import javax.swing.JScrollPane;
  34. import javax.swing.JTable;
  35. import javax.swing.JTextArea;
  36. import javax.swing.JTextField;
  37. import javax.swing.SwingUtilities;
  38. import javax.swing.table.DefaultTableModel;
  39. import javax.swing.tree.DefaultMutableTreeNode;
  40.  
  41. /*
  42. * To change this license header, choose License Headers in Project Properties.
  43. * To change this template file, choose Tools | Templates
  44. * and open the template in the editor.
  45. */
  46. /**
  47. *
  48. * @author biros.andras
  49. */
  50. public class JelszóFelület extends JFrame implements ActionListener, MouseListener {
  51.  
  52. private JMenuBar mbFőmenü = new JMenuBar();
  53.  
  54. private JMenu mFájl = new JMenu("Fájl");
  55. private JMenuItem miFájlÚj = new JMenuItem("Új");
  56. private JMenuItem miFájlMegnyit
  57. = new JMenuItem("Megnyit...");
  58. private JMenuItem miFájlMesterjelszóvált
  59. = new JMenuItem("Mesterjelszó megváltoztatása");
  60. private JMenuItem miFájlMent = new JMenuItem("Ment");
  61. private JMenuItem miFájlMentMásként
  62. = new JMenuItem("Ment másként...");
  63. private JMenu miFájlNyomtat = new JMenu("Nyomtat");
  64. private JMenuItem miFájlNyomtatNyomtatóra
  65. = new JMenuItem("Nyomtatóra");
  66. private JMenuItem miFájlNyomtatFájlba
  67. = new JMenuItem("Fájlba");
  68. private JMenuItem miFájlKilép = new JMenuItem("Kilép");
  69.  
  70. private JMenu mSúgó = new JMenu("Súgó");
  71. private JMenuItem miSúgóTémakörök
  72. = new JMenuItem("Témakörök");
  73. private JMenuItem miSúgóNévjegy = new JMenuItem("Névjegy");
  74. private String password;
  75. private String password2;
  76. private DynamicTree treePanel2;
  77. private DefaultListModel dm = new DefaultListModel();
  78. private JList lista = new JList(dm);
  79. private JPanel pnjobb = new JPanel();
  80. private JPanel subPanel = new JPanel();
  81.  
  82. public DefaultTableModel model = new DefaultTableModel();
  83. JTable table = new JTable(model);
  84. private JScrollPane scrollPane = new JScrollPane(table);
  85. private File WindowsFájl = new File("\\windowslista.dat");
  86. private File InternetFájl = new File("\\internetlista.dat");
  87. private File EgyébFájl = new File("\\egyéblista.dat");
  88. private File ModelFájl = new File("\\modellista.dat");
  89.  
  90. private Vector windowsvektor = new Vector();
  91. private Vector internetvektor = new Vector();
  92. private Vector egyébvektor = new Vector();
  93.  
  94.  
  95. public JelszóFelület() {
  96.  
  97. setLayout(new BorderLayout());
  98. setSize(630, 500);
  99. setTitle("Jelszómentő");
  100. setLocationRelativeTo(this);
  101. setDefaultCloseOperation(
  102. EXIT_ON_CLOSE);
  103.  
  104. setJMenuBar(mbFőmenü);
  105.  
  106. mbFőmenü.add(mFájl);
  107. mFájl.add(miFájlÚj);
  108. miFájlÚj.addActionListener(this);
  109. mFájl.add(miFájlMegnyit);
  110. miFájlMegnyit.addActionListener(this);
  111. miFájlMesterjelszóvált.setEnabled(false);
  112. mFájl.add(miFájlMesterjelszóvált);
  113. mFájl.addSeparator();
  114. miFájlMent.setEnabled(false);
  115. mFájl.add(miFájlMent);
  116. miFájlMentMásként.setEnabled(false);
  117. mFájl.add(miFájlMentMásként);
  118. mFájl.add(miFájlNyomtat);
  119. miFájlNyomtat.add(miFájlNyomtatNyomtatóra);
  120. miFájlNyomtat.add(miFájlNyomtatFájlba);
  121. mFájl.addSeparator();
  122. mFájl.add(miFájlKilép);
  123.  
  124. mbFőmenü.add(mSúgó);
  125. mSúgó.add(miSúgóTémakörök);
  126. mSúgó.addSeparator();
  127. miSúgóNévjegy.addActionListener(this);
  128. mSúgó.add(miSúgóNévjegy);
  129.  
  130. miFájlKilép.addActionListener(this);
  131. miFájlKilép.setEnabled(false);
  132. miSúgóNévjegy.addActionListener(this);
  133. scrollPane.addMouseListener(this);
  134.  
  135. setVisible(true);
  136. }
  137.  
  138. @Override
  139. public void actionPerformed(ActionEvent ae) {
  140. if (ae.getSource() == miFájlÚj) {
  141.  
  142. JPanel panel = new JPanel();
  143. JLabel label = new JLabel("Add meg a jelszót:");
  144. JPasswordField pass = new JPasswordField(10);
  145. panel.add(label);
  146. panel.add(pass);
  147. boolean passwordfaszae = false;
  148.  
  149. String[] options = new String[]{"OK", "Mégse"};
  150. int option = JOptionPane.showOptionDialog(null, panel, "Mesterjelszó megadása",
  151. JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE,
  152. null, options, options[1]);
  153. {
  154.  
  155. if (option == 0) {
  156.  
  157. char[] password = pass.getPassword();
  158.  
  159. while (!passwordfaszae) {
  160. JPanel panel2 = new JPanel();
  161. JLabel label2 = new JLabel("Ismételd meg a jelszót!");
  162. JPasswordField pass2 = new JPasswordField(10);
  163. panel2.add(label2);
  164. panel2.add(pass2);
  165. String[] options2 = new String[]{"OK", "Mégse"};
  166. int option2 = JOptionPane.showOptionDialog(null, panel2, "Jelszó ismétlése",
  167. JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE,
  168. null, options2, options2[1]);
  169. if (option2 == 0) {
  170.  
  171. char[] password2 = pass2.getPassword();
  172.  
  173. }
  174. if (Arrays.equals(pass.getPassword(), pass2.getPassword())) {
  175. passwordfaszae = true;
  176.  
  177. JOptionPane.showMessageDialog(null,
  178. "Mesterjelszó eltárolva!");
  179. miFájlMesterjelszóvált.setEnabled(true);
  180. miFájlKilép.setEnabled(true);
  181. treePanel2 = new DynamicTree();
  182. populateTree(treePanel2);
  183. treePanel2.setPreferredSize(new Dimension(150, 150));
  184. add(treePanel2, BorderLayout.WEST);
  185. try {
  186. táblábaír();
  187. System.out.println("Sikerül továbblépni az íráshoz");
  188. } catch (ClassNotFoundException ex) {
  189. System.out.println("error");
  190. }
  191.  
  192. } else {
  193. JOptionPane.showMessageDialog(panel, "A két két jelszó nem egyezik!", "Error", JOptionPane.ERROR_MESSAGE);
  194. }
  195.  
  196. }
  197.  
  198. }
  199. }
  200.  
  201. } else if (ae.getSource() == miFájlMegnyit) {
  202. JFileChooser fileChooser = new JFileChooser();
  203. int returnValue = fileChooser.showOpenDialog(null);
  204. if (returnValue == JFileChooser.APPROVE_OPTION) {
  205. File selectedFile = fileChooser.getSelectedFile();
  206. }
  207. } else if (ae.getSource() == miFájlKilép) {
  208. String ObjButtons[] = {"Igen", "Nem"};
  209. int PromptResult = JOptionPane.showOptionDialog(null,
  210. "Biztos, hogy kilép?", "Megerősítés",
  211. JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null,
  212. ObjButtons, ObjButtons[1]);
  213. if (PromptResult == 0) {
  214. try {
  215. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(ModelFájl));
  216. oos.writeObject(model);
  217. } catch (IOException ex) {
  218. System.out.println("Nem sikerült menteni a modelfájlt!");
  219. }
  220.  
  221. }
  222. } else if (ae.getSource() == miSúgóNévjegy) {
  223. JOptionPane.showMessageDialog(null,
  224. "Készítette: Biros András");
  225. }
  226. }
  227.  
  228. private void populateTree(DynamicTree treePanel) {
  229. final String p1Name = new String("Windows");
  230. final String p2Name = new String("Internet");
  231. final String p3Name = new String("Egyéb");
  232. DefaultMutableTreeNode p1, p2, p3;
  233.  
  234. p1 = treePanel2.addObject(null, p1Name);
  235. p2 = treePanel2.addObject(null, p2Name);
  236. p3 = treePanel2.addObject(null, p3Name);
  237.  
  238. }
  239.  
  240. @Override
  241. public void mouseClicked(java.awt.event.MouseEvent me) {
  242. if (SwingUtilities.isRightMouseButton(me)) {
  243.  
  244. doPop(me);
  245.  
  246. }
  247.  
  248. }
  249.  
  250. @Override
  251. public void mousePressed(java.awt.event.MouseEvent me) {
  252.  
  253. }
  254.  
  255. @Override
  256. public void mouseReleased(java.awt.event.MouseEvent me) {
  257.  
  258. }
  259.  
  260. @Override
  261. public void mouseEntered(java.awt.event.MouseEvent me) {
  262. // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  263. }
  264.  
  265. @Override
  266. public void mouseExited(java.awt.event.MouseEvent me) {
  267. // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  268. }
  269.  
  270. private void doPop(MouseEvent me) {
  271. Felugróablak menu = new Felugróablak();
  272.  
  273. menu.show(me.getComponent(), me.getX(), me.getY());
  274. menu.setVisible(true);
  275. }
  276.  
  277. public void táblábaír() throws ClassNotFoundException {
  278.  
  279. model.addColumn("Cím");
  280. model.addColumn("Felhasználó");
  281. model.addColumn("Jelszó");
  282. model.addColumn("URL");
  283. model.addColumn("Megjegyzés");
  284.  
  285. try {
  286. ObjectInputStream ois = new ObjectInputStream(new FileInputStream(ModelFájl));
  287. Object temp = ois.readObject();
  288. if (ModelFájl.length()>0){
  289.  
  290.  
  291. }
  292.  
  293.  
  294.  
  295.  
  296. } catch(IOException ex){
  297. System.out.print(" A visszatöltés nem sikerült");
  298.  
  299. }
  300.  
  301. try {
  302. ObjectInputStream ois = new ObjectInputStream(new FileInputStream(WindowsFájl));
  303.  
  304. Object temp = ois.readObject();
  305.  
  306. System.out.println("fos_ " + temp);
  307.  
  308. if (WindowsFájl.length() > 0) {
  309.  
  310. windowsvektor.add(temp);
  311.  
  312. }
  313. for (int i = 0; i < windowsvektor.size(); i++) {
  314. model.addRow((Vector) windowsvektor.get(i));
  315.  
  316. }
  317.  
  318. } catch (IOException ex) {
  319. System.out.println("Nem sikerült beolvasni a fájlt");
  320. }
  321.  
  322. try {
  323. ObjectInputStream ois = new ObjectInputStream(new FileInputStream(InternetFájl));
  324.  
  325. Object temp = ois.readObject();
  326.  
  327. if (InternetFájl.length() > 0) {
  328.  
  329. internetvektor.add(temp);
  330.  
  331. }
  332. for (int i = 0; i < internetvektor.size(); i++) {
  333. model.addRow((Vector) internetvektor.get(i));
  334.  
  335. }
  336.  
  337. } catch (IOException ex) {
  338. System.out.println("Nem sikerült beolvasni a fájlt");;
  339. }
  340.  
  341. try {
  342. ObjectInputStream ois = new ObjectInputStream(new FileInputStream(EgyébFájl));
  343.  
  344. Object temp = ois.readObject();
  345.  
  346. if (InternetFájl.length() > 0) {
  347.  
  348. egyébvektor.add(temp);
  349.  
  350. }
  351. for (int i = 0; i < egyébvektor.size(); i++) {
  352. model.addRow((Vector) egyébvektor.get(i));
  353.  
  354. }
  355.  
  356. } catch (IOException ex) {
  357. System.out.println("Nem sikerült beolvasni a fájlt");
  358. }
  359. pnjobb.add(scrollPane);
  360.  
  361. add(pnjobb, BorderLayout.CENTER);
  362.  
  363. setVisible(true);
  364. }
  365.  
  366.  
  367.  
  368.  
  369. public class Felugróablak extends JPopupMenu implements MouseListener, ActionListener {
  370.  
  371. private JMenuItem hozzáadItem;
  372. private JMenuItem törölItem;
  373. private Choice ch1 = new Choice();
  374.  
  375. private JLabel lbcsop = new JLabel("Csoport: ");
  376. private JLabel lbcím = new JLabel("Cím: ");
  377. private JLabel lbuser = new JLabel("Felhasználónév: ");
  378. private JLabel lbjelszó = new JLabel("Jelszó: ");
  379. private JLabel lbjelszórepeat = new JLabel("Jelszó Ismétlése: ");
  380. private JTextField tfcím = new JTextField(10);
  381. private JTextField tfuser = new JTextField(10);
  382. private JPasswordField passwd = new JPasswordField(10);
  383. private JPasswordField passwd2 = new JPasswordField(10);
  384. private JLabel lburl = new JLabel("URL: ");
  385. private JTextField tfurl = new JTextField(10);
  386. private JLabel lbmegjegyzés = new JLabel("Megjegyzés: ");
  387. private final JTextArea tfarea = new JTextArea(5, 20);
  388. private JButton jbOK = new JButton("OK");
  389. private JButton jbMégse = new JButton("Mégse");
  390. private JScrollPane scrollpane = new JScrollPane(tfarea);
  391. private ArrayList<String> internetlista = new ArrayList<String>();
  392. public ArrayList<String> windowslista = new ArrayList<String>();
  393. private ArrayList<String> egyéblista = new ArrayList<String>();
  394. private JFrame g = new JFrame();
  395.  
  396. private String cím;
  397. private String felhasználónév;
  398. private String jelszó;
  399. private String url;
  400. private String megjegyzes;
  401.  
  402. private File WindowsFájl = new File("\\windowslista.dat");
  403. private File InternetFájl = new File("\\internetlista.dat");
  404. private File EgyébFájl = new File("\\egyéblista.dat");
  405. private File ModelFájl = new File("\\modellista.dat");
  406.  
  407. public Felugróablak() {
  408.  
  409. hozzáadItem = new JMenuItem("Új bejegyzés hozzáadása");
  410. hozzáadItem.addMouseListener(this);
  411. add(hozzáadItem);
  412.  
  413. jbOK.addActionListener(this);
  414. jbMégse.addActionListener(this);
  415.  
  416. }
  417.  
  418. private void doPop(MouseEvent me) {
  419.  
  420. Felugróablak menu = new Felugróablak();
  421.  
  422. menu.show(me.getComponent(), me.getX(), me.getY());
  423. menu.setVisible(true);
  424. }
  425.  
  426. @Override
  427. public void mouseClicked(MouseEvent me) {
  428.  
  429. }
  430.  
  431. @Override
  432. public void mousePressed(MouseEvent me) {
  433.  
  434. }
  435.  
  436. @Override
  437. public void mouseReleased(MouseEvent me) {
  438. if (me.getSource() == hozzáadItem) {
  439.  
  440. g.setTitle("Bejegyzés hozzáadása");
  441. g.setSize(350, 400);
  442. g.setLocationRelativeTo(this);
  443. g.setResizable(false);
  444.  
  445. JPanel pnfelső = new JPanel();
  446.  
  447. ch1.add("Windows");
  448. ch1.add("Internet");
  449. ch1.add("Egyéb");
  450.  
  451. pnfelső.add(lbcsop);
  452. pnfelső.add(ch1);
  453. g.add(pnfelső);
  454. g.add(pnfelső, BorderLayout.NORTH);
  455.  
  456. JPanel pnközépső = new JPanel();
  457.  
  458. pnközépső.setLayout(new BoxLayout(pnközépső, BoxLayout.Y_AXIS));
  459.  
  460. pnközépső.add(lbcím);
  461. pnközépső.add(tfcím);
  462. pnközépső.add(lbuser);
  463. pnközépső.add(tfuser);
  464. pnközépső.add(lbjelszó);
  465. pnközépső.add(passwd);
  466. pnközépső.add(lbjelszórepeat);
  467. pnközépső.add(passwd2);
  468. pnközépső.add(lburl);
  469. pnközépső.add(tfurl);
  470. pnközépső.add(lbmegjegyzés);
  471. pnközépső.add(scrollpane);
  472.  
  473. pnközépső.setBackground(Color.LIGHT_GRAY);
  474. add(pnközépső, BorderLayout.CENTER);
  475. g.add(pnközépső);
  476.  
  477. //pnalsó
  478. JPanel pnalsó = new JPanel();
  479. pnalsó.add(jbOK);
  480.  
  481. pnalsó.add(jbMégse);
  482. add(pnalsó, BorderLayout.SOUTH);
  483. g.add(pnalsó, BorderLayout.SOUTH);
  484.  
  485. g.setVisible(true);
  486.  
  487. }
  488. }
  489.  
  490. @Override
  491. public void mouseEntered(MouseEvent me) {
  492.  
  493. }
  494.  
  495. @Override
  496. public void mouseExited(MouseEvent me) {
  497.  
  498. }
  499.  
  500. @Override
  501. public void actionPerformed(ActionEvent ae) {
  502. if (ae.getSource() == jbOK) {
  503. boolean passwordjóe = false;
  504.  
  505. String cím = tfcím.getText();
  506. String felhasználónév = tfuser.getText();
  507. String url = tfurl.getText();
  508. String megjegyzés = tfarea.getText();
  509.  
  510. JPanel pn = new JPanel();
  511. if (!Arrays.equals(passwd.getPassword(), passwd2.getPassword())) {
  512. JOptionPane.showMessageDialog(pn, "A két jelszó nem egyezik!", "Error", JOptionPane.ERROR_MESSAGE);
  513. }
  514. add(pn, BorderLayout.CENTER);
  515.  
  516. if (Arrays.equals(passwd.getPassword(), passwd2.getPassword())) {
  517. g.setVisible(false);
  518. passwordjóe = true;
  519. }
  520.  
  521. windowslista.clear();
  522. if (ch1.getSelectedItem() == "Windows" && passwordjóe == true) {
  523. windowslista.add(cím);
  524. windowslista.add(felhasználónév);
  525. windowslista.add(passwd.getText());
  526.  
  527. windowslista.add(url);
  528. windowslista.add(megjegyzés);
  529. Vector windows = new Vector(windowslista);
  530.  
  531. model.addRow(windows);
  532. setVisible(false);
  533.  
  534. try {
  535. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(WindowsFájl, true));
  536.  
  537. oos.writeObject(windows);
  538. System.out.println("Windowslista mentése sikerült");
  539.  
  540. } catch (IOException ex) {
  541. System.out.print("Az írás nem sikerült");
  542. }
  543.  
  544. } else if (ch1.getSelectedItem() == "Internet" && passwordjóe == true) {
  545. internetlista.clear();
  546.  
  547. internetlista.add(cím);
  548. internetlista.add(felhasználónév);
  549. internetlista.add(passwd.getText());
  550.  
  551. internetlista.add(url);
  552. internetlista.add(megjegyzés);
  553. Vector internet = new Vector(internetlista);
  554. model.addRow(internet);
  555. setVisible(false);
  556.  
  557. try {
  558. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(InternetFájl, true));
  559. oos.writeObject(internet);
  560. System.out.println("Internetlista mentése sikerült");
  561. } catch (IOException ex) {
  562. System.out.print("Az írás nem sikerült");
  563. }
  564.  
  565. } else if (ch1.getSelectedItem() == "Egyéb" && passwordjóe == true) {
  566. egyéblista.clear();
  567. egyéblista.add(cím);
  568. egyéblista.add(felhasználónév);
  569. egyéblista.add(passwd.getText());
  570. //lista.add(passwd2.getText());
  571. egyéblista.add(url);
  572. egyéblista.add(megjegyzés);
  573. Vector egyéb = new Vector(egyéblista);
  574. model.addRow(egyéb);
  575. setVisible(false);
  576.  
  577. try {
  578. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(EgyébFájl, true));
  579. oos.writeObject(egyéb);
  580. System.out.println("Egyéblista mentés sikerült");
  581. } catch (IOException ex) {
  582. System.out.print("Az írás nem sikerült");
  583. }
  584.  
  585. }
  586. } else if (ae.getSource() == jbMégse) {
  587.  
  588. g.setVisible(false);
  589. }
  590. try {
  591. ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(ModelFájl));
  592. oos.writeObject(model);
  593.  
  594. } catch (IOException ex) {
  595. System.out.print("Nem sikerült a modelfájlt menteni!");
  596. }
  597.  
  598. }
  599. }
  600.  
  601. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement