package org.magmax.masterjava.tema10.jdbc_example; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class WindowCuentas extends JFrame { private static final long serialVersionUID = -6027805473528877505L; private JTable table; private ModelCuentas model; private JButton button_editar; private JButton button_anadir; private JButton button_eliminar; public WindowCuentas() throws HeadlessException, ClassNotFoundException { super("Cuentas"); setBounds(100, 100, 600, 400); getContentPane().setLayout( new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); initComponents(); } private void initComponents() throws ClassNotFoundException { model = new ModelCuentas(); table = new JTable(model); add(new JScrollPane(table)); JPanel panel = new JPanel(); add(panel); button_anadir = new JButton("AƱadir"); button_anadir.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { WindowEditCuenta dialog = new WindowEditCuenta(null); dialog.setVisible(true); if (dialog.getSelected() == WindowEditCuenta.SELECTED_OK) { model.addRow(dialog.getCuenta()); } } }); panel.add(button_anadir); button_editar = new JButton("Editar"); button_editar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { WindowEditCuenta dialog; try { dialog = new WindowEditCuenta(null, model.getRow(table .getSelectedRow())); dialog.setVisible(true); if (dialog.getSelected() == WindowEditCuenta.SELECTED_OK) { model.update(dialog.getCuenta()); } } catch (SQLException e) { e.printStackTrace(); } } }); button_editar.setEnabled(false); panel.add(button_editar); button_eliminar = new JButton("Eliminar"); button_eliminar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { model.deleteRow(table.getSelectedRow()); } catch (SQLException e) { e.printStackTrace(); } } }); button_eliminar.setEnabled(false); panel.add(button_eliminar); table.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (table.getSelectedRows().length == 0) { button_editar.setEnabled(false); button_eliminar.setEnabled(false); } else { button_editar.setEnabled(true); button_eliminar.setEnabled(true); } } }); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }