package org.onecmdb.swing.treetable; import java.awt.Component; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JTable; import javax.swing.JTree; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreeModel; public class JTreeTable extends JTable { protected TreeTableCellRenderer tree; public JTreeTable(TreeTableModel paramTreeTableModel) { this.tree = new TreeTableCellRenderer(paramTreeTableModel); super.setModel(new TreeTableModelAdapter(paramTreeTableModel, this.tree)); this.tree.setSelectionModel(new DefaultTreeSelectionModel() { }); this.tree.setRowHeight(getRowHeight()); setDefaultRenderer(TreeTableModel.class, this.tree); setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor()); setShowGrid(false); setIntercellSpacing(new Dimension(0, 0)); } public int getEditingRow() { return getColumnClass(this.editingColumn) == TreeTableModel.class ? -1 : this.editingRow; } public class TreeTableCellEditor extends AbstractCellEditor implements TableCellEditor { public TreeTableCellEditor() { } public Component getTableCellEditorComponent(JTable paramJTable, Object paramObject, boolean paramBoolean, int paramInt1, int paramInt2) { return JTreeTable.this.tree; } } public class TreeTableCellRenderer extends JTree implements TableCellRenderer { protected int visibleRow; public TreeTableCellRenderer(TreeModel arg2) { super(); } public void setBounds(int paramInt1, int paramInt2, int paramInt3, int paramInt4) { super.setBounds(paramInt1, 0, paramInt3, JTreeTable.this.getHeight()); } public void paint(Graphics paramGraphics) { paramGraphics.translate(0, -this.visibleRow * getRowHeight()); super.paint(paramGraphics); } public Component getTableCellRendererComponent(JTable paramJTable, Object paramObject, boolean paramBoolean1, boolean paramBoolean2, int paramInt1, int paramInt2) { if (paramBoolean1) setBackground(paramJTable.getSelectionBackground()); else setBackground(paramJTable.getBackground()); this.visibleRow = paramInt1; return this; } } } /* Location: D:\Program Files (x86)\OneCMDB\2.1.0\repository\Content\applet\onecmdb-applet-dependencies.jar * Qualified Name: org.onecmdb.swing.treetable.JTreeTable * JD-Core Version: 0.6.0 */