Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package notesapplication;
- import dal.User;
- import dal.UserRepository;
- import java.awt.BorderLayout;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import javafx.scene.control.PasswordField;
- import javax.swing.JButton;
- import javax.swing.JDialog;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import javax.swing.JTextField;
- import javax.swing.table.AbstractTableModel;
- public class UsersDialog extends JDialog {
- private JTextField usernameTextField;
- private JPasswordField passwordField;
- private JPanel buttonsPanel;
- private JPanel contentPanel;
- private JPanel inputPanel;
- private JButton newButton;
- private JButton editButton;
- private JButton deleteButton;
- private JButton saveButton;
- private JTable table;
- private JScrollPane scrollPane;
- private ArrayList<User> users;
- private UsersTableModel usersTableModel;
- private boolean isEditMode = true;
- public UsersDialog() throws SQLException {
- setModalityType(DEFAULT_MODALITY_TYPE);
- setTitle("Users");
- //Dialog
- buttonsPanel = new JPanel();
- add(buttonsPanel, BorderLayout.NORTH);
- contentPanel = new JPanel();
- contentPanel.setLayout(new BorderLayout());
- add(contentPanel, BorderLayout.CENTER);
- //Content panel
- inputPanel = new JPanel();
- inputPanel.setLayout(new GridLayout(2, 2));
- contentPanel.add(inputPanel, BorderLayout.NORTH);
- UserRepository userRepository = new UserRepository();
- users = userRepository.getAll();
- usersTableModel = new UsersTableModel();
- table = new JTable(usersTableModel);
- scrollPane = new JScrollPane(table);
- contentPanel.add(scrollPane, BorderLayout.CENTER);
- //Buttons Panel
- newButton = new JButton("New");
- newButton.addActionListener((e) -> {
- newButtonClicked();
- });
- buttonsPanel.add(newButton);
- editButton = new JButton("Edit");
- buttonsPanel.add(editButton);
- deleteButton = new JButton("Delete");
- buttonsPanel.add(deleteButton);
- saveButton = new JButton("Save");
- saveButton.addActionListener((ActionEvent e) -> {
- saveButtonClicked();
- });
- buttonsPanel.add(saveButton);
- //Input panel
- inputPanel.add(new JLabel("Username: "));
- usernameTextField = new JTextField();
- inputPanel.add(usernameTextField);
- inputPanel.add(new JLabel("password: "));
- passwordField = new JPasswordField();
- inputPanel.add(passwordField);
- pack();
- }
- private void newButtonClicked() {
- isEditMode = false;
- usernameTextField.setText("");
- passwordField.setText("");
- }
- private void saveButtonClicked() {
- if (!isEditMode) {
- insertUser();
- } else {
- updateUser();
- }
- }
- private void insertUser() {
- String username = usernameTextField.getText();
- String password = new String(passwordField.getPassword());
- try {
- UserRepository userRepository = new UserRepository();
- if(!userRepository.insert(username, password)){
- JOptionPane.showMessageDialog(this,"Save failed");
- return;
- }
- } catch (SQLException e) {
- JOptionPane.showMessageDialog(this, e.getMessage());
- }
- }
- private void updateUser() {
- }
- private class UsersTableModel extends AbstractTableModel {
- private String[] columns = {"Id", "Username", "password"};
- @Override
- public String getColumnName(int index) {
- return columns[index]; //To change body of generated methods, choose Tools | Templates.
- }
- @Override
- public int getRowCount() { //kati ota row herna
- return users.size();
- }
- @Override
- public int getColumnCount() {
- return 3;
- }
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- User user = users.get(rowIndex);
- switch (columnIndex) {
- case 0:
- return user.id;
- case 1:
- return user.username;
- case 2:
- return user.password;
- }
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement