码迷,mamicode.com
首页 > 编程语言 > 详细

java 树与表心得

时间:2014-12-25 18:39:46      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:程序   java   而且   模型   

在定制表与树是  模型很重要,定义是千万不要模糊

如:

       DefaultTableModel mode = new DefaultTableModel();   

       JTable table = new JTable(mode);

在接下来的树与表相对应的关系中很难一一对应;而且不利于在JSCrollPane中的显示。


下面这个就是一个很好的方法 ,而且方便树与表的相互对应,且很容易实现:

DefaultTableModel mode;

JTable table = new JTable();

mode = (DefaultTableModel mode)table.getMOdel();


在接下来的程序中 只需用到模型即可改变表中的格式;


例子:

package TableTree;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.*;


public class TableTree extends JPanel implements TreeSelectionListener  {

 /**
  * @param args
  */
 JPanel myJPanel;
 JTable table;
 JScrollPane myJSTree,myJSTable;
 JTree myJTree;
 DefaultMutableTreeNode root,temp;
 Object NodePath;
 DefaultTreeModel rs;
 String StrPath;
 int row,col;
 TreeSelectionModel  selectionModel;
 DefaultTableModel model;
 JFrame myJFrame;

 public TableTree(){
  
  super();
  myJFrame = new JFrame("TreeTable");

  table = new JTable();
  model = (DefaultTableModel)table.getModel();
  this.setLayout(new BorderLayout());
  this.add(table,BorderLayout.CENTER);
  myJSTable = new JScrollPane(this);
  myJFrame.add(myJSTable,BorderLayout.CENTER);
 
  
  root = new DefaultMutableTreeNode("root");
  temp = new DefaultMutableTreeNode("father");
  temp.add(new DefaultMutableTreeNode("chirld1"));
  temp.add(new DefaultMutableTreeNode("chirld2"));
  temp.add(new DefaultMutableTreeNode("chirld3"));
  temp.add(new DefaultMutableTreeNode("chirld4"));
  temp.add(new DefaultMutableTreeNode("chirld5"));
  root.add(temp);
  rs = new DefaultTreeModel(root);
  
  myJTree = new JTree(rs);
  selectionModel = myJTree.getSelectionModel();
  selectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
  myJTree.addTreeSelectionListener(this);
  myJSTree = new JScrollPane(myJTree);
  
  myJFrame.add(myJSTree,BorderLayout.WEST);
  
  myJFrame.setSize(550,400);
  myJFrame.setLocation(150, 150);
  myJFrame.setVisible(true);
  
  myJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
  
  
 }


java 树与表心得

标签:程序   java   而且   模型   

原文地址:http://2172006.blog.51cto.com/2162006/1595988

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!