01: package org.gui4j.core.swing;
02:
03: import java.awt.EventQueue;
04: import java.util.Map;
05:
06: import javax.swing.table.AbstractTableModel;
07:
08: import org.gui4j.Gui4jCallBase;
09: import org.gui4j.Gui4jGetValue;
10: import org.gui4j.core.Gui4jComponentInstance;
11:
12: /**
13: * Wird verwendet, um einzelne Zellen zu refreshen
14: */
15: public class Gui4jRefreshTable implements Gui4jGetValue {
16: private final AbstractTableModel mTableModel;
17: private final int mRow;
18: private final int mCol;
19:
20: public Gui4jRefreshTable(AbstractTableModel tableModel, int row,
21: int col) {
22: this .mTableModel = tableModel;
23: this .mRow = row;
24: this .mCol = col;
25: }
26:
27: /*
28: * (non-Javadoc)
29: *
30: * @see org.gui4j.Gui4jGetValue#getValue(org.gui4j.Gui4jCallBase,
31: * java.util.Map, java.lang.Object)
32: */
33: public Object getValue(Gui4jCallBase gui4jController, Map paramMap,
34: Object defaultValue) {
35: // follow Swing's single thread rule when updating components
36: EventQueue.invokeLater(new Runnable() {
37: public void run() {
38: mTableModel.fireTableCellUpdated(mRow, mCol);
39: }
40: });
41: return null;
42: }
43:
44: /*
45: * (non-Javadoc)
46: *
47: * @see org.gui4j.Gui4jGetValue#getValueNoErrorChecking(org.gui4j.Gui4jCallBase,
48: * java.util.Map, java.lang.Object)
49: */
50: public Object getValueNoErrorChecking(
51: Gui4jCallBase gui4jController, Map paramMap,
52: Gui4jComponentInstance componentInstance) {
53: return getValue(gui4jController, paramMap, null);
54: }
55:
56: public String toString() {
57: return AbstractTableModel.class.getName()
58: + ".fireTableCellUpdated(" + mRow + ", " + mCol + ")";
59: }
60:
61: }
|