-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTable.java
87 lines (80 loc) · 2.27 KB
/
Table.java
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import javax.swing.table.AbstractTableModel;
public class Table
extends AbstractTableModel
implements ModelListener {
private Canvas canvas;
public static final int COLS = 4;
public static final int X_COL = 0;
public static final int Y_COL = 1;
public static final int WIDTH_COL = 2;
public static final int HEIGHT_COL = 3;
public Table(Canvas canvas) {
this.canvas = canvas;
}
@Override
public int getRowCount() {
return this.canvas.getShapeModelArray().size();
}
@Override
public int getColumnCount() {
return 4;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
DShapeModel model = this.canvas.getShapeModelArray().get(rowIndex);
if (model instanceof DLineModel) {
if (columnIndex == 0) {
return "Start X " + ((DLineModel)model).getX();
}
if (columnIndex == 1) {
return "Start Y " + ((DLineModel)model).getY();
}
if (columnIndex == 2) {
return "End X " + ((DLineModel)model).getWidth();
}
if (columnIndex == 3) {
return "End Y " + ((DLineModel)model).getHeight();
}
} else {
if (columnIndex == 0) {
return model.getX();
}
if (columnIndex == 1) {
return model.getY();
}
if (columnIndex == 2) {
return model.getWidth();
}
if (columnIndex == 3) {
return model.getHeight();
}
}
return null;
}
@Override
public String getColumnName(int column) {
if (column == 0) {
return "X";
}
if (column == 1) {
return "Y";
}
if (column == 2) {
return "WIDTH";
}
if (column == 3) {
return "HEIGHT";
}
return null;
}
@Override
public void modelChanged(DShapeModel model) {
int i = 0;
while (i < this.canvas.getShapeModelArray().size()) {
if (model == this.canvas.getShapeModelArray().get(i)) {
this.fireTableRowsUpdated(i, i);
}
++i;
}
}
}