Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / counter selected jcheckbox at jtable / 6 сообщений из 6, страница 1 из 1
21.07.2017, 14:58
    #39492994
panikaaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
Есть jtable со столбцом jcheckbox (boolean) - Выбираю jcheckbox несколько штук
Как узнать сколько было выделено jcheckbox ?
Чтобы потом это кол-во вставить в jlable ?
Подскажите ход действий
...
Рейтинг: 0 / 0
21.07.2017, 15:16
    #39493003
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
panikaaaЕсть jtable со столбцом jcheckbox (boolean) - Выбираю jcheckbox несколько штук
Как узнать сколько было выделено jcheckbox ?
Чтобы потом это кол-во вставить в jlable ?
Подскажите ход действий
Ну для начала разрешаете мультиселект(если это ещё не сделано)
Код: java
1.
2.
table.setRowSelectionAllowed(true);
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);


Ну а дальше гуглим Jtable multiselect...
Ну типа этого находим
https://stackoverflow.com/questions/4526779/multiple-row-selection-in-jtable
...
Рейтинг: 0 / 0
21.07.2017, 15:24
    #39493005
panikaaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
В итоге так и не понял как подсчитать выбранные checkbox в таблице
...
Рейтинг: 0 / 0
21.07.2017, 15:44
    #39493018
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
panikaaaВ итоге так и не понял как подсчитать выбранные checkbox в таблице
Данные в Swing хранятся в "модели". Поэтому для подобных задач лучше работать с моделью, а не с таблицей.
Но вообще не понятно какая религия мешает перебрать все строки в цикле и просуммировать в зависимости от того что вернет JTable.getValueAt()

Ну, и для затравочки, стильно-модно-молодежно:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        long count = (long) ((DefaultTableModel) table.getModel())
                .getDataVector()
                .stream()
                .map(this::isRowChecked)
                .filter(b -> (boolean)b)
                .collect(Collectors.counting());

    private Boolean isRowChecked(Object row) {
        Vector data = (Vector) row;
        return (Boolean) data.get(0);
    }
...
Рейтинг: 0 / 0
21.07.2017, 16:47
    #39493066
panikaaa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
получил индексы==true

private Boolean isRowChecked(boolean row) {
boolean data = row;
return data==true;
}



table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
if (table.getSelectedRow() >= 0) {
for (int i = 0; i < table.getRowCount(); i++) {
if (isRowChecked((Boolean) TBLUsers.getValueAt(i, TBLUsers.getColumnModel().getColumnIndex("Столбец")))==true) {
System.out.println(i);
}
}

}
}
}
});

Дальше опять затупил...
Кол-во индексов в числе как вернуть ?
...
Рейтинг: 0 / 0
21.07.2017, 17:07
    #39493079
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
counter selected jcheckbox at jtable
panikaaa,

Вам стоит отложить в сторону Swing и начать с задач попроще. Цикл. Сумма. Булева алгебра.
Например тут
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / counter selected jcheckbox at jtable / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]