Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java	(revision 23829)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java	(revision 23830)
@@ -175,4 +175,12 @@
 	}
 	
+	public List<AddressNode> getUnresolvedAddresses() {
+		return unresolvedAddresses;
+	}
+
+	public List<AddressNode> getIncompleteAddresses() {
+		return incompleteAddresses;
+	}
+
 	public List<StreetNode> getStreetList() {
 		
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java	(revision 23829)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java	(revision 23830)
@@ -62,10 +62,7 @@
 	private static final long serialVersionUID = 6251676464816335631L;
 	private AddressEditContainer model;
-	private JTree unresolvedTree;
-	private JTree incompleteTree;
+	private JTable unresolvedTable;
+	private JTable incompleteTable;
 	private JTable streetList;
-	private DefaultMutableTreeNode selStreet;
-	private DefaultMutableTreeNode selUnrAddr;
-	private DefaultMutableTreeNode selIncAddr;
 	
 	private AssignAddressToStreetAction resolveAction = new AssignAddressToStreetAction();
@@ -91,12 +88,7 @@
 		if (addressEditContainer != null) {
 			JPanel streetPanel = new JPanel(new BorderLayout());
-			/*
-			streetsTree = new JTree(new DefaultTreeModel(addressEditContainer.getStreetsTree()));
-			streetsTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
-			streetsTree.addTreeSelectionListener(this);
-			streetsTree.setCellRenderer(new StreetTreeCellRenderer());
-			*/
 			streetList = new JTable(new StreetTableModel(model));
 			streetList.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+			streetList.getSelectionModel().addListSelectionListener(this);
 			
 			JScrollPane scroll1 = new JScrollPane(streetList);
@@ -106,8 +98,9 @@
 			
 			JPanel unresolvedPanel = new JPanel(new BorderLayout());		
-			unresolvedTree = new JTree(new DefaultTreeModel(new DefaultMutableTreeNode()));
-			unresolvedTree.addTreeSelectionListener(this);
+			unresolvedTable = new JTable(new UnresolvedAddressesTableModel(model));
+			unresolvedTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+			unresolvedTable.getSelectionModel().addListSelectionListener(this);
 			
-			JScrollPane scroll2 = new JScrollPane(unresolvedTree);
+			JScrollPane scroll2 = new JScrollPane(unresolvedTable);
 			unresolvedPanel.add(scroll2, BorderLayout.CENTER);
 			unresolvedPanel.add(new JLabel("Unresolved Addresses"), BorderLayout.NORTH);
@@ -120,7 +113,10 @@
 			
 			JPanel incompletePanel = new JPanel(new BorderLayout());
-			incompleteTree = new JTree(new DefaultTreeModel(new DefaultMutableTreeNode()));
-			incompleteTree.addTreeSelectionListener(this);
-			JScrollPane scroll3 = new JScrollPane(incompleteTree);
+			
+			incompleteTable = new JTable(new IncompleteAddressesTableModel(model));
+			incompleteTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+			incompleteTable.getSelectionModel().addListSelectionListener(this);
+			JScrollPane scroll3 = new JScrollPane(incompleteTable);
+			
 			incompletePanel.add(scroll3, BorderLayout.CENTER);
 			incompletePanel.add(new JLabel("Incomplete Addresses"), BorderLayout.NORTH);
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/IncompleteAddressesTableModel.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/IncompleteAddressesTableModel.java	(revision 23830)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/IncompleteAddressesTableModel.java	(revision 23830)
@@ -0,0 +1,100 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under 
+ * the terms of the GNU General Public License as published by the 
+ * Free Software Foundation, either version 3 of the License, or 
+ * (at your option) any later version. 
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * See the GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License along with this program. 
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.openstreetmap.josm.plugins.addressEdit.gui;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import javax.swing.table.DefaultTableModel;
+
+import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
+import org.openstreetmap.josm.plugins.addressEdit.AddressNode;
+
+public class IncompleteAddressesTableModel extends DefaultTableModel {
+	private static final int NUMBER_OF_COLUMNS = 5;
+	private static final String[] COLUMN_NAMES = new String[]{tr("Country"), tr("State"), tr("City"), tr("Post Code"), tr("Street")}; 
+	private static final Class<?>[] COLUMN_CLASSES = new Class<?>[]{
+		String.class, String.class, String.class, String.class, String.class};
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 424009321818130586L;
+
+	private AddressEditContainer addressContainer;
+
+	/**
+	 * @param addressContainer
+	 */
+	public IncompleteAddressesTableModel(AddressEditContainer addressContainer) {
+		super();
+		this.addressContainer = addressContainer;
+	}
+
+	@Override
+	public int getColumnCount() {
+		// TODO Auto-generated method stub
+		return NUMBER_OF_COLUMNS;
+	}
+
+	@Override
+	public String getColumnName(int column) {
+		return COLUMN_NAMES[column];
+	}
+
+	@Override
+	public int getRowCount() {
+		if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
+			return 0;
+		}
+		return addressContainer.getUnresolvedAddresses().size();
+	}
+
+	@Override
+	public Object getValueAt(int row, int column) {
+		if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
+			return null;
+		}
+		if (row < 0 || row > addressContainer.getUnresolvedAddresses().size()) {
+			return null;
+		}
+		AddressNode aNode = addressContainer.getUnresolvedAddresses().get(row);
+		
+		switch (column) {
+		case 0:
+			return aNode.getCountry();
+		case 1:
+			return aNode.getState();
+		case 2:
+			return aNode.getCity();
+		case 3:
+			return aNode.getPostCode();
+		case 4:
+			return aNode.getStreet();
+		default:
+			throw new RuntimeException("Invalid column index: " + column);
+		}
+		
+	}
+	
+	@Override
+	public Class<?> getColumnClass(int arg0) {
+		return COLUMN_CLASSES[arg0];
+	}
+
+	@Override
+	public boolean isCellEditable(int row, int column) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+}
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/StreetTableModel.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/StreetTableModel.java	(revision 23829)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/StreetTableModel.java	(revision 23830)
@@ -23,4 +23,5 @@
 	private static final int NUMBER_OF_COLUMNS = 4;
 	private static final String[] COLUMN_NAMES = new String[]{tr("Type"), tr("Name"), tr("Segments"), tr("Addresses")}; 
+	private static final Class<?>[] COLUMN_CLASSES = new Class<?>[]{String.class, String.class, Integer.class, Integer.class};
 	
 	/**
@@ -39,4 +40,7 @@
 	}
 
+	/* (non-Javadoc)
+	 * @see javax.swing.table.DefaultTableModel#getColumnCount()
+	 */
 	@Override
 	public int getColumnCount() {
@@ -45,9 +49,23 @@
 	}
 
+	/* (non-Javadoc)
+	 * @see javax.swing.table.DefaultTableModel#getColumnName(int)
+	 */
 	@Override
 	public String getColumnName(int column) {
 		return COLUMN_NAMES[column];
 	}
+	
+	/* (non-Javadoc)
+	 * @see javax.swing.table.AbstractTableModel#getColumnClass(int)
+	 */
+	@Override
+	public Class<?> getColumnClass(int columnIndex) {
+		return COLUMN_CLASSES[columnIndex];
+	}
 
+	/* (non-Javadoc)
+	 * @see javax.swing.table.DefaultTableModel#getRowCount()
+	 */
 	@Override
 	public int getRowCount() {
@@ -58,4 +76,7 @@
 	}
 
+	/* (non-Javadoc)
+	 * @see javax.swing.table.DefaultTableModel#getValueAt(int, int)
+	 */
 	@Override
 	public Object getValueAt(int row, int column) {
@@ -88,6 +109,3 @@
 		return false;
 	}
-	
-	
-	
 }
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/UnresolvedAddressesTableModel.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/UnresolvedAddressesTableModel.java	(revision 23830)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/UnresolvedAddressesTableModel.java	(revision 23830)
@@ -0,0 +1,115 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under 
+ * the terms of the GNU General Public License as published by the 
+ * Free Software Foundation, either version 3 of the License, or 
+ * (at your option) any later version. 
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * See the GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License along with this program. 
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
+/**
+ * This program is free software: you can redistribute it and/or modify it under 
+ * the terms of the GNU General Public License as published by the 
+ * Free Software Foundation, either version 3 of the License, or 
+ * (at your option) any later version. 
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * See the GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License along with this program. 
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* File created on 25.10.2010 */
+package org.openstreetmap.josm.plugins.addressEdit.gui;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import javax.swing.table.DefaultTableModel;
+
+import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
+import org.openstreetmap.josm.plugins.addressEdit.AddressNode;
+
+/**
+ *
+ * @author Oliver Wieland <oliver.wieland@online.de>
+ * 
+ */
+
+public class UnresolvedAddressesTableModel extends DefaultTableModel {
+
+	private static final int NUMBER_OF_COLUMNS = 2;
+	private static final String[] COLUMN_NAMES = new String[]{tr("Street"), tr("Complete?")}; 
+	private static final Class<?>[] COLUMN_CLASSES = new Class<?>[]{String.class, Boolean.class};
+	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 424009321818130586L;
+
+	private AddressEditContainer addressContainer;
+
+	/**
+	 * @param addressContainer
+	 */
+	public UnresolvedAddressesTableModel(AddressEditContainer addressContainer) {
+		super();
+		this.addressContainer = addressContainer;
+	}
+
+	@Override
+	public int getColumnCount() {
+		// TODO Auto-generated method stub
+		return NUMBER_OF_COLUMNS;
+	}
+
+	@Override
+	public String getColumnName(int column) {
+		return COLUMN_NAMES[column];
+	}
+
+	@Override
+	public int getRowCount() {
+		if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
+			return 0;
+		}
+		return addressContainer.getUnresolvedAddresses().size();
+	}
+
+	@Override
+	public Object getValueAt(int row, int column) {
+		if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
+			return null;
+		}
+		if (row < 0 || row > addressContainer.getUnresolvedAddresses().size()) {
+			return null;
+		}
+		AddressNode aNode = addressContainer.getUnresolvedAddresses().get(row);
+		
+		switch (column) {
+		case 0:
+			return aNode.getStreet();
+		case 1:
+			return aNode.isComplete();
+		default:
+			throw new RuntimeException("Invalid column index: " + column);
+		}
+		
+	}
+	
+	@Override
+	public Class<?> getColumnClass(int arg0) {
+		return COLUMN_CLASSES[arg0];
+	}
+
+	@Override
+	public boolean isCellEditable(int row, int column) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+}
