Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class EditDiscipline extends JDialog implements VisualWindows, QuitListener {
- private JLabel lbNameDiscipline, lblAmountDisciplines;
- private JTextField tfNameDiscipline;
- private JScrollPane scrollPane;
- private JTable tbListDisciplines;
- private JButton btnEdit, btnDelete, btnCancel, btnOk;
- private DisciplineModelTabel model;
- private QueuesProcess queue;
- private InfiniteProgressPanel glassPanel;
- private ArrayList quitListeners;
- public EditDiscipline() {
- model = ModelComponents.modelTable();
- setupLayout();
- setupComponents();
- setupEvents();
- queue = new QueuesProcess();
- glassPanel = new InfiniteProgressPanel();
- quitListeners = new ArrayList<>();
- quitListeners.add(this);
- this.setGlassPane(glassPanel);
- GUIConfig.centerOnScreen(this);
- }
- @Override
- public void setupLayout() {
- setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE);
- setType(Window.Type.UTILITY);
- setResizable(false);
- setLayout(null);
- setSize(410, 325);
- setModal(true);
- setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent evt)
- {
- quit();
- }
- });
- }
- @Override
- public void setupComponents() {
- lbNameDiscipline = new JLabel("Nome da Disciplina:");
- lbNameDiscipline.setBounds(new Rectangle(new Point(5, 211), lbNameDiscipline.getPreferredSize()));
- tfNameDiscipline = new JTextField();
- tfNameDiscipline.setBounds(130, 209, 185, 20);
- /*
- * Cria a JTable e ScrollPane.
- * adiciona ao scrollPane a Jtable
- * e faz ambas as configurações.
- */
- tbListDisciplines = new JTable();
- tbListDisciplines.setModel(model);
- tbListDisciplines.setVisible(true);
- tbListDisciplines.removeColumn(tbListDisciplines.getColumnModel().getColumn(0)); // id
- scrollPane = new JScrollPane();
- scrollPane.setViewportView(tbListDisciplines);
- scrollPane.setBounds(4, 10, 398, 155);
- scrollPane.setVisible(true);
- //Label quantidade de disciplinas.
- lblAmountDisciplines = new JLabel();
- lblAmountDisciplines.setText("" + tbListDisciplines.getRowCount());
- lblAmountDisciplines.setBackground(new Color(153, 153, 255));
- lblAmountDisciplines.setOpaque(true);
- lblAmountDisciplines.setForeground(Color.white);
- lblAmountDisciplines.setHorizontalAlignment(SwingConstants.CENTER);
- lblAmountDisciplines.setHorizontalTextPosition(SwingConstants.CENTER);
- lblAmountDisciplines.setBounds(373, 170, 29, lblAmountDisciplines.getPreferredSize().height);
- /*
- * botões
- */
- btnEdit = new JButton("Alterar");
- btnEdit.setBounds(new Rectangle(new Point(325, 207), btnEdit.getPreferredSize()));
- btnDelete = new JButton("Deletar");
- btnDelete.setBounds(new Rectangle(new Point(5, 170), btnDelete.getPreferredSize()));
- btnCancel = new JButton("Cancelar");
- btnCancel.setBounds(190, 255, 100, 30);
- btnOk = new JButton("OK");
- btnOk.setBounds(300, 255, 100, 30);
- add(lbNameDiscipline);
- add(tfNameDiscipline);
- add(scrollPane);
- add(lblAmountDisciplines);
- add(btnDelete);
- add(btnCancel);
- add(btnEdit);
- add(btnOk);
- }
- @Override
- public void setupEvents() {
- btnDelete.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- int rowIndex = tbListDisciplines.getSelectedRow();
- int id = (int)tbListDisciplines.getModel().getValueAt(rowIndex, 0);
- RemoveDiscipline delete = new RemoveDiscipline(id);
- queue.addProcess(delete);
- lblAmountDisciplines.setText("" + model.getRowCount());
- model.remove(rowIndex);
- }
- });
- btnEdit.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- int rowIndex = tbListDisciplines.getSelectedRow();
- int id = (int)tbListDisciplines.getModel().getValueAt(rowIndex, 0);
- UpdateDiscipline update = new UpdateDiscipline(id, (String)tbListDisciplines.getModel().getValueAt(rowIndex, 1));
- queue.addProcess(update);
- Discipline marca = new Discipline();
- marca.setName((String)tbListDisciplines.getModel().getValueAt(rowIndex, 1));
- model.update(rowIndex, marca);
- }
- });
- btnOk.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- queue.executeProcess();
- glassPanel.start();
- Thread performer = new Thread(new Runnable() {
- public void run() {
- perform();
- }
- }, "Performer");
- performer.start();
- dispose();
- }
- });
- btnCancel.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- quit();
- }
- });
- //MouseListener para preencher o textField
- tbListDisciplines.addMouseListener(new MouseListener() {
- @Override
- public void mouseReleased(MouseEvent e) {}
- @Override
- public void mousePressed(MouseEvent e) {}
- @Override
- public void mouseExited(MouseEvent e) {}
- @Override
- public void mouseEntered(MouseEvent e) {}
- @Override
- public void mouseClicked(MouseEvent e) {
- int rowIndex = tbListDisciplines.getSelectedRow();
- tfNameDiscipline.setText((String)tbListDisciplines.getModel().getValueAt(rowIndex, 1));
- }
- });
- }
- /**
- * Método que faz um threads de sleep para
- * parar o glassPanel.
- */
- private void perform() {
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- glassPanel.stop();
- }
- /**
- * Método que faz o dispose da tela.
- */
- @Override
- public void quit() {
- if(!model.isEmptyList()){
- int confirm = JOptionPane.showConfirmDialog(this, "Deseja sair, as alterações feita não serão salvas ?",
- "Desistir das alterações?", JOptionPane.YES_NO_OPTION);
- if(confirm == JOptionPane.YES_OPTION) {
- this.dispose();
- model.clearlistRemoved();
- }
- } else{
- this.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement