mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-26 06:22:48 -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;
|
||||
|
||||
import de.neemann.digital.core.Observer;
|
||||
import de.neemann.digital.lang.Lang;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.TableModelEvent;
|
||||
import javax.swing.event.TableModelListener;
|
||||
import javax.swing.table.TableModel;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* The table model to represent a value table.
|
||||
* <p>
|
||||
* Created by hneemann on 24.08.16.
|
||||
*/
|
||||
public class ValueTableModel implements TableModel {
|
||||
public class ValueTableModel implements TableModel, Observer {
|
||||
|
||||
private final ValueTable values;
|
||||
private ArrayList<TableModelListener> listeners;
|
||||
|
||||
/**
|
||||
* Creates a new table model
|
||||
@ -21,6 +26,8 @@ public class ValueTableModel implements TableModel {
|
||||
*/
|
||||
public ValueTableModel(ValueTable values) {
|
||||
this.values = values;
|
||||
listeners = new ArrayList<>();
|
||||
values.addObserver(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,10 +76,20 @@ public class ValueTableModel implements TableModel {
|
||||
|
||||
@Override
|
||||
public void addTableModelListener(TableModelListener l) {
|
||||
listeners.add(l);
|
||||
}
|
||||
|
||||
@Override
|
||||
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