Refreshs data now even when no row is sorted

This commit is contained in:
7u83 2017-02-26 09:02:46 +01:00
parent 5794c6de22
commit cf8f6b584e

View File

@ -61,7 +61,6 @@ public class TraderListPanel extends javax.swing.JPanel {
double price = q == null ? 0 : q.price;
//DefaultTableModel newmodel = new DefaultTableModel();
int size = Globals.se.traders.size();
model.setRowCount(size);
for (int i = 0; i < size; i++) {
@ -76,7 +75,9 @@ public class TraderListPanel extends javax.swing.JPanel {
model.setValueAt(wealth, i, 4);
}
list.getRowSorter().allRowsChanged();
model.fireTableDataChanged();
//list.getRowSorter().allRowsChanged();
}
TimerTask updater;
@ -94,39 +95,29 @@ public class TraderListPanel extends javax.swing.JPanel {
updater = new TimerTask() {
@Override
public void run() {
//System.out.printf("Run traderlist\n");
// javax.swing.SwingUtilities.invokeLater(()->{updateModel();});
try{
try {
updateModel();
}
catch (Exception e)
{
} catch (Exception e) {
}
}
};
//TableRowSorter sorter = (TableRowSorter) list.getRowSorter();
//sorter.setSortsOnUpdates(true);
timer.schedule(updater, 0, 1000);
}
class MyModel extends DefaultTableModel{
MyModel(Object arg0[][], Object arg1[]){
super(arg0,arg1);
class MyModel extends DefaultTableModel {
MyModel(Object arg0[][], Object arg1[]) {
super(arg0, arg1);
}
@Override
public void fireTableDataChanged(){
public void fireTableDataChanged() {
super.fireTableDataChanged();
}
@Override
public void fireTableStructureChanged() {
@ -141,39 +132,36 @@ public class TraderListPanel extends javax.swing.JPanel {
}
}
void test(){
void test() {
// new javax.swing.table.DefaultTableModel
MyModel m = new MyModel(
new Object [][] {
new Object[][]{
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
},
new String [] {
new String[]{
"ID", "Name", "Money", "Shares", "Wealth"
}
) {
Class[] types = new Class [] {
Class[] types = new Class[]{
java.lang.Long.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class
};
boolean[] canEdit = new boolean [] {
boolean[] canEdit = new boolean[]{
false, false, false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
return types[columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
return canEdit[columnIndex];
}
};
}