1 package edu.jiangxin.apktoolbox.swing.treetable;
2
3 import java.awt.Dimension;
4 import java.io.Serial;
5
6 import javax.swing.JTable;
7
8 public class MyTreeTable extends JTable {
9 @Serial
10 private static final long serialVersionUID = 1L;
11
12 public MyTreeTable() {
13 super();
14 }
15
16
17 public void initialize(MyAbstractTreeTableModel treeTableModel) {
18
19
20 MyTreeTableCellRenderer tree = new MyTreeTableCellRenderer(this, treeTableModel);
21 tree.initialize();
22
23
24 super.setModel(new MyTreeTableModelAdapter(treeTableModel, tree));
25
26
27 MyTreeTableSelectionModel selectionModel = new MyTreeTableSelectionModel();
28 selectionModel.initialize();
29 tree.setSelectionModel(selectionModel);
30 setSelectionModel(selectionModel.getListSelectionModel());
31
32
33
34 setDefaultRenderer(MyTreeTableModel.class, tree);
35
36 setDefaultEditor(MyTreeTableModel.class, new MyTreeTableCellEditor(tree, this));
37
38
39 setShowGrid(false);
40
41
42 setIntercellSpacing(new Dimension(0, 0));
43 }
44 }