Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.70 KB | None | 0 0
  1. package notesapplication;
  2.  
  3. import dal.User;
  4. import dal.UserRepository;
  5. import java.awt.BorderLayout;
  6. import java.awt.GridLayout;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.sql.SQLException;
  10. import java.util.ArrayList;
  11. import javafx.scene.control.PasswordField;
  12. import javax.swing.JButton;
  13. import javax.swing.JDialog;
  14. import javax.swing.JLabel;
  15. import javax.swing.JOptionPane;
  16. import javax.swing.JPanel;
  17. import javax.swing.JPasswordField;
  18. import javax.swing.JScrollPane;
  19. import javax.swing.JTable;
  20. import javax.swing.JTextField;
  21. import javax.swing.table.AbstractTableModel;
  22.  
  23. public class UsersDialog extends JDialog {
  24.  
  25. private JTextField usernameTextField;
  26. private JPasswordField passwordField;
  27. private JPanel buttonsPanel;
  28. private JPanel contentPanel;
  29. private JPanel inputPanel;
  30.  
  31. private JButton newButton;
  32. private JButton editButton;
  33. private JButton deleteButton;
  34. private JButton saveButton;
  35.  
  36. private JTable table;
  37. private JScrollPane scrollPane;
  38. private ArrayList<User> users;
  39. private UsersTableModel usersTableModel;
  40.  
  41. private boolean isEditMode = true;
  42.  
  43. public UsersDialog() throws SQLException {
  44. setModalityType(DEFAULT_MODALITY_TYPE);
  45. setTitle("Users");
  46.  
  47. //Dialog
  48. buttonsPanel = new JPanel();
  49. add(buttonsPanel, BorderLayout.NORTH);
  50. contentPanel = new JPanel();
  51. contentPanel.setLayout(new BorderLayout());
  52. add(contentPanel, BorderLayout.CENTER);
  53.  
  54. //Content panel
  55. inputPanel = new JPanel();
  56. inputPanel.setLayout(new GridLayout(2, 2));
  57. contentPanel.add(inputPanel, BorderLayout.NORTH);
  58.  
  59. UserRepository userRepository = new UserRepository();
  60.  
  61. users = userRepository.getAll();
  62.  
  63. usersTableModel = new UsersTableModel();
  64. table = new JTable(usersTableModel);
  65. scrollPane = new JScrollPane(table);
  66. contentPanel.add(scrollPane, BorderLayout.CENTER);
  67.  
  68. //Buttons Panel
  69. newButton = new JButton("New");
  70. newButton.addActionListener((e) -> {
  71. newButtonClicked();
  72. });
  73.  
  74. buttonsPanel.add(newButton);
  75.  
  76. editButton = new JButton("Edit");
  77. buttonsPanel.add(editButton);
  78.  
  79. deleteButton = new JButton("Delete");
  80. buttonsPanel.add(deleteButton);
  81.  
  82. saveButton = new JButton("Save");
  83. saveButton.addActionListener((ActionEvent e) -> {
  84. saveButtonClicked();
  85. });
  86. buttonsPanel.add(saveButton);
  87.  
  88. //Input panel
  89. inputPanel.add(new JLabel("Username: "));
  90. usernameTextField = new JTextField();
  91. inputPanel.add(usernameTextField);
  92. inputPanel.add(new JLabel("password: "));
  93. passwordField = new JPasswordField();
  94. inputPanel.add(passwordField);
  95. pack();
  96.  
  97. }
  98.  
  99. private void newButtonClicked() {
  100. isEditMode = false;
  101. usernameTextField.setText("");
  102. passwordField.setText("");
  103. }
  104.  
  105. private void saveButtonClicked() {
  106. if (!isEditMode) {
  107. insertUser();
  108. } else {
  109. updateUser();
  110. }
  111. }
  112.  
  113. private void insertUser() {
  114. String username = usernameTextField.getText();
  115.  
  116. String password = new String(passwordField.getPassword());
  117.  
  118. try {
  119. UserRepository userRepository = new UserRepository();
  120. if(!userRepository.insert(username, password)){
  121. JOptionPane.showMessageDialog(this,"Save failed");
  122. return;
  123. }
  124. } catch (SQLException e) {
  125. JOptionPane.showMessageDialog(this, e.getMessage());
  126. }
  127. }
  128.  
  129. private void updateUser() {
  130.  
  131. }
  132.  
  133. private class UsersTableModel extends AbstractTableModel {
  134.  
  135. private String[] columns = {"Id", "Username", "password"};
  136.  
  137. @Override
  138. public String getColumnName(int index) {
  139. return columns[index]; //To change body of generated methods, choose Tools | Templates.
  140. }
  141.  
  142. @Override
  143. public int getRowCount() { //kati ota row herna
  144. return users.size();
  145. }
  146.  
  147. @Override
  148. public int getColumnCount() {
  149. return 3;
  150. }
  151.  
  152. @Override
  153. public Object getValueAt(int rowIndex, int columnIndex) {
  154. User user = users.get(rowIndex);
  155. switch (columnIndex) {
  156. case 0:
  157. return user.id;
  158. case 1:
  159. return user.username;
  160. case 2:
  161. return user.password;
  162. }
  163. return null;
  164. }
  165. }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement