ich habe es auch schon hier gepostet, allerdings nach einigen Tagen noch immer keine Antwort erhalten, darum möchte ich es auch in dieses Forum stellen und hoffe hier kann mir jemand weiterhelfen (das sollte bis morgen gehen .... )
Ich bin ziemlich neu mit SWT und habe trotz intensiver Suche keine Lösung für mein Problem gefunden:
Schilderung des Problems:
ich habe einen Server, der über die SWT-GUI verschiedene Sachen angezeigt, so auch auf Knopfdruck eine Tabelle mit allen connecteten Clients inklusive Daten über die Clients.
Bei Klick des Buttons erscheint die Tabelle mit allen Einträgen aus dem Array mit den Clients - das funktioniert schon ganz gut!
Allerdings möchte ich bei jedem weitern Klick auf den Button die Tabelle mit aktualisierten Daten neu zeichen - und das schaffe ich nicht, bei jedem weiteren Klick auf den Button passiert leider nichts.
Hier mein Code:
mit tableClients.redraw() und tableClients.clearAll() habe ich leider auch keine Ergebnisse erziehlt!
danke für alle Tipps und Hinweise!
Grüße, TwoBeers
Ich bin ziemlich neu mit SWT und habe trotz intensiver Suche keine Lösung für mein Problem gefunden:
Schilderung des Problems:
ich habe einen Server, der über die SWT-GUI verschiedene Sachen angezeigt, so auch auf Knopfdruck eine Tabelle mit allen connecteten Clients inklusive Daten über die Clients.
Bei Klick des Buttons erscheint die Tabelle mit allen Einträgen aus dem Array mit den Clients - das funktioniert schon ganz gut!
Allerdings möchte ich bei jedem weitern Klick auf den Button die Tabelle mit aktualisierten Daten neu zeichen - und das schaffe ich nicht, bei jedem weiteren Klick auf den Button passiert leider nichts.
Hier mein Code:
Code:
buttonShowClients.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
Client[] clients = Tools.getClients();
final Table tableClients = new Table(compositeTab1, SWT.BORDER | SWT.V_SCROLL);
tableClients.setBounds(350,200,250,150);
tableClients.setHeaderVisible(true);
tableClients.setLinesVisible(true);
tableClients.clearAll(); // das war ein Versuch
final TableColumn colIP = new TableColumn(tableClients,SWT.LEFT);
colIP.setWidth(80);
colIP.setText("IP");
final TableColumn colPort = new TableColumn(tableClients,SWT.LEFT);
colPort.setWidth(50);
colPort.setAlignment(SWT.CENTER);
colPort.setText("Port");
final TableColumn colStatus = new TableColumn(tableClients,SWT.LEFT);
colStatus.setWidth(60);
colStatus.setAlignment(SWT.CENTER);
colStatus.setText("Status");
final TableColumn colChat = new TableColumn(tableClients, SWT.LEFT);
colChat.setWidth(60);
colChat.setAlignment(SWT.CENTER);
colChat.setText("Chat");
for (int i=0;i<Tools.getCount();i++) {
TableItem item = new TableItem(tableClients,SWT.NONE);
item.setText(0, clients[i].clientAddress.toString());
item.setText(1, new Integer(clients[i].port).toString());
item.setText(2, clients[i].view);
item.setText(3, new Boolean(clients[i].chat).toString());
}
tableClients.redraw(); // das habe ich probiert
}
});
mit tableClients.redraw() und tableClients.clearAll() habe ich leider auch keine Ergebnisse erziehlt!
danke für alle Tipps und Hinweise!
Grüße, TwoBeers