+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableModel;
+
+
+
+import common.AccountInterface;
+import common.OwnerInterface;
+import configuration.___IntNames;
+import domain.Owner;
+
+public class DeleteOwnerGUI extends JFrame {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private JPanel contentPane;
+ private JTable table;
+
+ private DefaultTableModel tableModel;
+ private OwnerInterface Own = null;
+ private Vector<Owner> owners = new Vector<Owner>();
+
+ /**
+ * Create the frame.
+ */
+ public DeleteOwnerGUI() {
+ setTitle("Current owners:");
+ try {
+ init();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void init() throws Exception {
+ setBounds(100, 100, 600, 500);
+ contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ setContentPane(contentPane);
+ contentPane.setLayout(null);
+ try {
+ Own = (OwnerInterface) Naming
+ .lookup(___IntNames.OwnerManager);
+ } catch (Exception e1) {
+ System.out
+ .println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+ this.owners = Own.getOwners();
+ JLabel lblNewLabel = new JLabel();
+ lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
+ lblNewLabel.setBounds(23, 41, 536, 33);
+ contentPane.add(lblNewLabel);
+ if (this.owners.isEmpty())
+ lblNewLabel
+ .setText("There are not owners in the system");
+ else
+ lblNewLabel.setText("List of owners:");
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
+ scrollPane.setBounds(23, 113, 536, 271);
+ contentPane.add(scrollPane);
+ JLabel feedback = new JLabel("");
+ feedback.setBounds(134, 447, 307, 14);
+ contentPane.add(feedback);
+ JButton btnNewButton = new JButton("Delete from the system");
+ btnNewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if (table.getRowCount()!=0 && table.getSelectedRow() != -1) {
+ AccountInterface acm = null;
+
+ try {
+ acm = (AccountInterface) Naming
+ .lookup(___IntNames.AccountManager);
+ } catch (Exception e1) {
+ System.out.println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+
+ try {
+ if(acm.removeAccount(table.getSelectedRow()))
+ {
+ feedback.setText("Deleted from the system");
+ }
+ } catch (RemoteException e1) {
+ e1.printStackTrace();
+ }
+
+ ((DefaultTableModel)table.getModel()).removeRow(table.getSelectedRow());
+ }
+ }
+ });
+ btnNewButton.setBounds(88, 396, 428, 40);
+ contentPane.add(btnNewButton);
+ table = new JTable() {
+ private static final long serialVersionUID = 1L;
+
+ public boolean isCellEditable(int row, int column) {
+ return false;
+ };
+ };
+
+ scrollPane.setViewportView(table);
+ tableModel = new DefaultTableModel(null, new String[] {
+ "Name", "E-mail", "Bank Account" });
+
+ table.setModel(tableModel);
+
+
+ Enumeration<Owner> rhs = this.owners.elements();
+ while (rhs.hasMoreElements()) {
+ Owner own = rhs.nextElement();
+ Vector<Object> row = new Vector<Object>();
+ row.add(own.getName());
+ row.add(own.getMailAccount());
+ row.add(own.getBankAccount());
+ tableModel.addRow(row);
+ }
+
+
+ }