Jtable和JTree的写法示例代码

  

我们首先看看Jtable和JTree的基本概念和常用构造方法。

  

<强>一:表格(JTable):
  

  

1。基本概念:
  

  

表格(JTable)是摇摆不定的新增加的组件,主要是为了将数据以表格的形式显示。给显示大块数据提供了简单的机制。
  

  

2。常用构造方法:
  

  

<强> * JTable(): 使用系统默认的模型创建一个JTable实例。
  

  

<强> * JTable (int, int numRows numColumns): 强创建一个使用DefaultTableModel指定行、列的空表格。
  

  

<强> * JTable对象(对象构成了rowData, [] [] [] [] columnNames): 强创建一个显示二维数据的表格。
  

  

可以直接使用表格列名数组和表格数据数组来创建表格。
  

  

<强> * JTable (TableModel dm): 强创建一个指定数据模式和默认字段模式的JTable实例。
  

  

通常用数据模型类的对象来保存数据,而表格模型是通过表格列名数组和表格数据数组来创建的。
  

  

<强>二:树(JTree):
  

  

1。基本概念:
  

  

,树(JTree):将分层数据集显示为轮廓的控件。
  

  

2。常用构造方法:
  

  

<强> JTree(): 强返回带有示例模型的JTree。
  

  

<强> JTree(对象[]值):强返回JTree,指定数组的每个元素作为不被显示的新根节点的子节点。
  

  

,//只有这个构造函数可以创建多个根结点
  

  

<强> JTree(对象[]值):强返回JTree,指定数组的每个元素作为不被显示的新根节点的子节点。
  

  

<强> JTree (TreeNode根):强返回JTree,指定的TreeNode作为其根,它显示根节点。
  

  

<强> JTree (TreeNode根,布尔asksAllowsChildren): 强返回JTree,指定的TreeNode作为其根,
  

  

它用指定的方式显示根节点,并确定节点是否为叶节点。(真设置为可添加子结点,再添加子结点)。

  

<强>示例代码:

        包com.jTablehomework;   进口java.awt。*;   进口java.lang.reflect.Field;   进口java.util.LinkedHashMap;   进口并不知道;   进口java.util.Map;   进口java.util.Vector;   进口javax.swing。*;   进口com.dao.CRUDDAO;   进口com.entry.Login;/* *   *   * @author zzy   *   * 2016年12月1日下午1:52:29   */公开课JTableDemo延伸JFrame {   私人JScrollPane jsp;   私人JTable jt;   私人DefaultTableModel tableModel;      公共静态void main (String [] args) {   新JTableDemo ();   }   公共JTableDemo () {   init ();   setSize (400、500);   setLocationRelativeTo(空);   setVisible(真正的);   setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);   }   私人空间init () {   容器con=getContentPane ();   con.setLayout(新BorderLayout ());   createJTable (con);   }   公共空间createJTable(容器con) {   JLabel jl=new JLabel(“用户信息”);   jl.setHorizontalAlignment (SwingConstants.CENTER);   addData ();   jt=new JTable (tableModel) {   @Override   公共布尔isCellEditable (int, int列){   返回错误;   }   };   System.out.println (jt.getName ());//用来获得鼠标点击位置的内容   特里。addMouseListener(新MouseAdapter () {   公共空间mouseClicked (MouseEvent e) {   int selectRow=jt.getSelectedRow ();//System.out.println (selectRow);//int selectcow=jt.getSelectedColumn ();   for (int i=0;我& lt;jt.getColumnCount ();我+ +){   System.out.print (jt.getColumnName(我)+“:”);   System.out.print (jt。getValueAt (selectRow,我)+“\ t”);   }   System.out.println ();//System.out.println (selectcow);//System.out.println (tableModel.getValueAt (selectRow,//selectcow));   向量v=tableModel.getDataVector ();      }   });   jt.setRowHeight(30);//设置表格的行高   jt.setSelectionForeground (Color.red);//设置选中的文字颜色   jsp=new JScrollPane (jt);   jsp.setViewportView (jt);   con.add (jl BorderLayout.NORTH);   con.add (jsp、BorderLayout.CENTER);   }   公共空间addData () {   List列表=getData ();   字段[]字段=Login.class.getDeclaredFields ();/* *   *设置标题   */对象columnNames[]=新对象(field.length);   for (int i=0;我& lt;field.length;我+ +){   columnNames[我]=领域[我]. getname ();   }/* *   *填充内容   */构成了rowData[][]=新对象对象[list.size ()] [];   for (int i=0;我& lt;list.size ();我+ +){   登录l=list.get(我);   对象ob[]=新对象(field.length);   for (int j=0;j & lt;field.length;j + +) {   场[j] .setAccessible(真正的);   尝试{   ob [j]=字段[j] . get(左);   }捕捉(IllegalArgumentException e) {   e.printStackTrace ();   System.out.println(“底层字段不可访问”);   }捕捉(IllegalAccessException e) {   e.printStackTrace ();   System.out.println(“对象不是声明字段的实例”);   }//返回此对象上此字段的值   rowData[我]=ob;   }   }   构成了rowData, tableModel=new DefaultTableModel (columnNames);   }   公共List

Jtable和JTree的写法示例代码