Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JTable & JCheckBox


Автор: Sleepy_PIP 3.12.2012, 16:27
Доброго времени суток всем.
Суть проблеммы - надо получать значение JCheckBox в JTable при каждом его изменении.
Что сделано - 
Код


    private javax.swing.JTable connSelTable;
.....

        SelTableModelListener tmll = new SelTableModelListener();
        GlobalConfig.gcd.insConfig.connSelTable.addTableModelListener(tmll);
        connSelTable.setModel(GlobalConfig.gcd.insConfig.connSelTable);
        connSelTable.getColumnModel().getColumn(0).setCellEditor(
                new PIPCheckBoxCellEditor());



где - GlobalConfig.gcd.insConfig.connSelTable - public ConnSelectTableModel connSelTable; и соотв.
public class ConnSelectTableModel extends ConnTableModel и 
public class ConnTableModel extends AbstractTableModel

в SelTableModelListener:
Код

//=========================================================================    
    @Override
    public void tableChanged(TableModelEvent e)
    {
                System.out.println("aaa");
    }



так вот метод листенера срабатывает только если я меняю row - т.е. стоя на одном и том-ж row можно сколько угодно менять значение чекбокса, но при этом tableChanged - НЕ вызывается.

честно говоря не ожидал такого поведения!

а так тогда правильно сделать - мне нужно отрабатывать каждое измеенние чекбокса в каждой строке.
а?
Заранее спассибо если кто подскажет.


Автор: Sleepy_PIP 3.12.2012, 17:12
всем спасибо, отбой. дело было в 
connSelTable.getColumnModel().getColumn(0).setCellEditor(
                new PIPCheckBoxCellEditor());

видимо ошибка в cell-едиторе ... он мне на самом деле и не нужен получается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)