1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package org.mlc.swing.layout;
31
32 import java.util.ArrayList;
33 import java.util.List;
34 import java.util.Map;
35
36 import javax.swing.JScrollPane;
37 import javax.swing.JTable;
38 import javax.swing.table.AbstractTableModel;
39
40 /***
41 * This is the ComponentBuilder used to build JTables. When a JTable is added,
42 * it will be given some default data just so the user can get an idea of what
43 * it might look like.
44 *
45 * @author Michael Connor
46 */
47 public class JTableComponentBuilder implements ComponentBuilder
48 {
49 List<BeanProperty> properties = new ArrayList<BeanProperty>();
50
51 public JTableComponentBuilder()
52 {
53 }
54
55 public String getDeclaration(String name,
56 java.util.Map<String, Object> beanProperties)
57 {
58 return "javax.swing.JTable " + name
59 + "Control = new javax.swing.JTable();\njavax.swing.JScrollPane "
60 + name + " = new javax.swing.JScrollPane(" + name + "Control);\n";
61 }
62
63 public java.awt.Component getInstance(
64 java.util.Map<String, Object> beanProperties) throws Exception
65 {
66 JTable table = new JTable();
67 table.setModel(new AbstractTableModel()
68 {
69 public int getRowCount()
70 {
71 return 10;
72 }
73
74 public int getColumnCount()
75 {
76 return 10;
77 }
78
79 public Object getValueAt(int row, int col)
80 {
81 return "" + row + ":" + col;
82 }
83 });
84
85 JScrollPane scrollPane = new JScrollPane(table);
86 return scrollPane;
87 }
88
89 public java.util.List<BeanProperty> getProperties()
90 {
91 return properties;
92 }
93
94 public boolean isComponentALayoutContainer()
95 {
96 return false;
97 }
98
99 public String toString()
100 {
101 return "javax.swing.JTable";
102 }
103 public ComponentDef getComponentDef(String name, Map<String, Object> beanProperties)
104 {
105 String imp = "import javax.swing.JTable;\n" +
106 "import javax.swing.JScrollPane;";
107 String decl = "JTable ${name}Control = new JTable();\n" +
108 "JScrollPane ${name} = new JScrollPane(${name}Control);";
109 String add = "${container}.add(${name}, \"${name}\");";
110 ComponentDef cd = new ComponentDef(name,imp,decl,add);
111 return cd;
112 }
113
114 }