你这个问题够复杂,呵呵
做一个超类,每个JTable(其实也可以用JPanel)都从这个超类继承,一个表就是一个模块strTableModule = ((YourObject)currentNode.getUserObject()).getModuleName();
//加载模块类
Class tableClass = Class.forName(strTableModule);
//生成模块实例
baseTable = (BaseTable)tableClass.newInstance();
//初始化模块
baseTable.init();

解决方案 »

  1.   

    很简单啊,做这样一个类
    class NodeObject
    {
      private int type = null;
      private Object object = null;
      private String label = null;
      public String getLabel();
      public Object getObject();
      public int getType();
      public void setLabel(String label);
      public void setObject(Object object);
      public void setType(int type);
      public String toString();//直接返回label,做为显示的label用
    }TreeNode的userobject置为该类的对象,而该对象的label为想在tree上显示的标签,object为你需要处理的对象类型(例如,你需要处理的表名称、数据库连接对象或其他相关对象),每次选定node的时候,getUserObject(),然后从获取到的object中转换为NodeObject,再getObject()获取你需要处理的对象,再进行处理。
      

  2.   

    给JTree添加鼠标侦听事件,事件根据选中的接点改变query参数值得到表数据。不就完了吗。