mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-29 16:01:19 -04:00
the ValueTableModel observes the ValueTable
This commit is contained in:
parent
87cf2f0942
commit
120fb03215
@ -1,18 +1,23 @@
|
|||||||
package de.neemann.digital.data;
|
package de.neemann.digital.data;
|
||||||
|
|
||||||
|
import de.neemann.digital.core.Observer;
|
||||||
import de.neemann.digital.lang.Lang;
|
import de.neemann.digital.lang.Lang;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.event.TableModelListener;
|
import javax.swing.event.TableModelListener;
|
||||||
import javax.swing.table.TableModel;
|
import javax.swing.table.TableModel;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The table model to represent a value table.
|
* The table model to represent a value table.
|
||||||
* <p>
|
* <p>
|
||||||
* Created by hneemann on 24.08.16.
|
* Created by hneemann on 24.08.16.
|
||||||
*/
|
*/
|
||||||
public class ValueTableModel implements TableModel {
|
public class ValueTableModel implements TableModel, Observer {
|
||||||
|
|
||||||
private final ValueTable values;
|
private final ValueTable values;
|
||||||
|
private ArrayList<TableModelListener> listeners;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new table model
|
* Creates a new table model
|
||||||
@ -21,6 +26,8 @@ public class ValueTableModel implements TableModel {
|
|||||||
*/
|
*/
|
||||||
public ValueTableModel(ValueTable values) {
|
public ValueTableModel(ValueTable values) {
|
||||||
this.values = values;
|
this.values = values;
|
||||||
|
listeners = new ArrayList<>();
|
||||||
|
values.addObserver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -69,10 +76,20 @@ public class ValueTableModel implements TableModel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addTableModelListener(TableModelListener l) {
|
public void addTableModelListener(TableModelListener l) {
|
||||||
|
listeners.add(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeTableModelListener(TableModelListener l) {
|
public void removeTableModelListener(TableModelListener l) {
|
||||||
|
listeners.remove(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void hasChanged() {
|
||||||
|
SwingUtilities.invokeLater(() -> {
|
||||||
|
TableModelEvent tme = new TableModelEvent(this);
|
||||||
|
for (TableModelListener l : listeners)
|
||||||
|
l.tableChanged(tme);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user