Using this manual (http://www.comp.nus.edu.sg/~cs3283/ftp/Java/swingConnect/tech_topics/tables-trees/tables-trees.html) I'm trying to create tree table for my project's Swing user interface.
In constructor of my class for table I redefined render like this:
public class JTreeTable extends JTable {
public JTreeTable(ITreeTableModel treeTableModel) {
super();
...
setDefaultRenderer(ITreeTableModel.class, tree);
...
}
}
where treeTableModel is my implementation for
interface ITreeTableModel extends TreeModel
In result table looks near to what I want, but I have couple issues:

Field (ID) in my code defines as Object but really it represents numbers (1,2,3 and so on). How to change representation of field ID?
Nodes in my table do not expand. But
public int getChildCount(Object parent_object_id)
returns number > 0
p.s. I know that there is maybe not enough information for direct answer, but I need at least direction in which I can to continue my investigations.
Related to the first of your questions, you should implement a TreeCellRenderer. Guessing that you do would do something similar to:
What is currently happening to you is that your Cell Renderer is returning the Object instance element ID (DictionaryItem@11abb71 for example) instead of getting the object and call the getID() function.
You can find extra example and information on TreeCellRenderer example.
Related to your second question see the example on TreeModel example. Maybe you can also try to expand the row by code. If the "+" icon is changing to a "-" it would probably means that getChildCount is working well but what it isn't working is the getChild(int row) which will return null or an unvalid tree row element.