package gui;
-import java.awt.BorderLayout;
-import java.awt.EventQueue;
-
-import domain.*;
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Enumeration;
+import java.util.Vector;
import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
-
-import java.awt.Font;
-
-import javax.swing.JTextField;
+import javax.swing.JPanel;
import javax.swing.JScrollPane;
-
-import java.awt.Rectangle;
-
import javax.swing.JTable;
+import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
-import java.awt.Component;
-import java.sql.Date;
-import java.util.Enumeration;
-import java.util.LinkedList;
-import java.util.Vector;
-
-import javax.swing.Box;
+import domain.RuralHouse;
public class listOfHousesGUI extends JFrame {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTable table;
private DefaultTableModel tableModel;
-
- /**
+ private Vector<RuralHouse> houses;
+ /**
* Create the frame.
*/
- public listOfHousesGUI(Vector<RuralHouse> houses) {
+ public listOfHousesGUI(Vector<RuralHouse> rhs) {
try {
- init(houses);
+ this.houses=rhs;
+ init();
} catch (Exception e) {
e.printStackTrace();
}
}
- private void init(Vector<RuralHouse> houses) throws Exception {
+ private void init() throws Exception {
setBounds(100, 100, 600, 450);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
scrollPane.setBounds(23, 113, 536, 271);
contentPane.add(scrollPane);
- table = new JTable();
+ 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[] {
"House Name", "Bedrooms", "Kitchens", "Baths", "Parkings",
"Livings" });
+
//Maybe there is a better way to avoid interaction.
//table.setEnabled(false);
table.setModel(tableModel);
Enumeration<RuralHouse> en = houses.elements();
RuralHouse rh;
-
+ table.addMouseListener( new MouseAdapter(){
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ int row = table.getSelectedRow();
+ HouseFeaturesGUI feat = new HouseFeaturesGUI(houses.get(row),null,null);
+ feat.setVisible(true);
+ }
+ });
while (en.hasMoreElements()) {
rh = en.nextElement();
Vector<Object> row = new Vector<Object>();