Просто создайте два изображения флажка. Первый без галочки и второй с тиком. Теперь добавьте первое изображение в заголовок tableColumn. После этого добавьте listener в tableColumn таким образом, чтобы при первом нажатии кнопки, метод table.selectALL()
должен быть запущен вместе с изменением заголовка заголовка tableColumn на второй. Когда вы снова нажимаете кнопку, вызовите метод table.deSelectAll()
и замените заголовок tableColumn первым изображением.
Вы можете использовать это условие:
Когда флажок (изображение) нажата, используйте цикл для проверки любого из флажков в таблице проверяется ли, . если кто-либо найден проверен, то fire table.deSelectAll() метод, иначе пожар таблица.selectAll() способ.
Не будет проблем для «флажка» при изменении размера таблицы/вдовы.
tableColumn0.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
// TODO Auto-generated method stub
boolean checkBoxFlag = false;
for (int i = 0; i < table.getItemCount(); i++) {
if (table.getItems()[i].getChecked()) {
checkBoxFlag = true;
}
}
if (checkBoxFlag) {
for (int m = 0; m < table.getItemCount(); m++) {
table.getItems()[m].setChecked(false);
tableColumn0.setImage(new Image(Display.getCurrent(),
"images/chkBox.PNG"));
table.deselectAll();
}
} else {
for (int m = 0; m < table.getItemCount(); m++) {
table.getItems()[m].setChecked(true);
tableColumn0.setImage(new Image(Display.getCurrent(),
"images/chkBox2.PNG"));
table.selectAll();
}
}
}
});
Извините за медленный ответ. Я имею в виду попробовать это целую вечность. Будет ли это идти и принять, если он делает то, что я думаю, что это будет :) Спасибо! –
Нет проблем. Отбросьте комментарий, если он не работает так, как ожидалось. –