001package ca.bc.webarts.widgets.treetable; 002 003import java.awt.BorderLayout; 004import java.awt.Color; 005import java.awt.Component; 006import java.awt.Dimension; 007import java.awt.Point; 008import java.awt.Window; 009import java.awt.event.MouseEvent; 010import java.awt.event.WindowAdapter; 011import java.awt.event.WindowEvent; 012import java.util.ArrayList; 013import java.util.List; 014import java.util.logging.Logger; 015 016import javax.swing.JButton; 017import javax.swing.JComponent; 018import javax.swing.JFrame; 019import javax.swing.JLabel; 020import javax.swing.JPanel; 021import javax.swing.JScrollPane; 022import javax.swing.SwingUtilities; 023import javax.swing.table.TableModel; 024import javax.swing.tree.TreePath; 025 026import ca.bc.webarts.widgets.ColouredLabel; 027 028/* 029import org.jdesktop.application.Action; 030import org.jdesktop.swingx.JXPanel; 031import org.jdesktop.swingx.JXTreeTable; 032import org.jdesktop.swingx.decorator.AbstractHighlighter; 033import org.jdesktop.swingx.decorator.ColorHighlighter; 034import org.jdesktop.swingx.decorator.ComponentAdapter; 035import org.jdesktop.swingx.decorator.HighlightPredicate; 036import org.jdesktop.swingx.event.AbstractInputEventDispatcher; 037import org.jdesktop.swingx.renderer.DefaultTableRenderer; 038import org.jdesktop.swingx.renderer.DefaultTreeRenderer; 039import org.jdesktop.swingx.renderer.IconValue; 040import org.jdesktop.swingx.renderer.StringValue; 041import org.jdesktop.swingx.renderer.StringValues; 042import org.jdesktop.swingx.table.ColumnFactory; 043import org.jdesktop.swingx.table.TableColumnExt; 044import org.jdesktop.swingx.treetable.TreeTableModel; 045*/ 046import org.jdesktop.swingx.JXTreeTable; 047import org.jdesktop.swingx.treetable.FileSystemModel; 048import org.jdesktop.swingx.treetable.TreeTableModel; 049 050/** 051 * A test demo app for the {@code JXTreeTable}. 052 * 053 * @author Tom Gutwin 054 */ 055public class TomsTreeTableDemo extends JPanel 056{ 057 ca.bc.webarts.tools.Log log_ = ca.bc.webarts.tools.Log.createLog( ca.bc.webarts.tools.Log.DEBUG ); 058 059 private JXTreeTable treeTable; 060 private TreeTableModel ttm; 061 private boolean initialized; 062 private JButton refreshButton; 063 private JButton expandButton; 064 private JButton collapseButton; 065 066 067 public TomsTreeTableDemo() 068 { 069 super( new BorderLayout() ); 070 log_ = ca.bc.webarts.tools.Log.createLog( ca.bc.webarts.tools.Log.DEBUG ); 071 072 //add( tt, BorderLayout.CENTER ); 073 add(new ColouredLabel(Color.BLUE.darker(),Color.cyan.brighter(),"TreeTable Panel"),BorderLayout.PAGE_START); 074 075 initializeWithData(getSampleData()); 076 initialized=true; 077 log_.debug("TreeTableDemo Initialized"); 078 } 079 080 081 public static void main( String[] args ) 082 { 083 JFrame f = new JFrame( "TomsTreeTableDemo Frame" ); 084 TomsTreeTableDemo p = new TomsTreeTableDemo(); 085 086 f.addWindowListener ( new WindowAdapter() 087 { 088 public void windowClosing( WindowEvent e ) 089 { 090 System.exit(0 ); 091 } 092 } 093 ); 094 f.getContentPane().add( p ); 095 f.pack(); 096 // KiwiUtils.centerWindow(appFrame_); 097 f.toFront(); 098 f.setVisible( true ); 099 f.repaint(); 100 } //main 101 102 103 public static StringBuilder getSampleData() 104 { 105 StringBuilder sb = new StringBuilder(); 106 107 return sb; 108 } 109 110 111 public void initializeWithData(StringBuilder sb) 112 { 113 ttm = new FileSystemModel(new java.io.File(ca.bc.webarts.widgets.Util.USERHOME)); 114 treeTable = new JXTreeTable(ttm); 115 JScrollPane scrollpane = new JScrollPane(treeTable); 116 add(scrollpane, BorderLayout.CENTER); 117 } 118} 119