JTable: нет выбранной строки - PullRequest
3 голосов
/ 09 декабря 2010

Я хочу отключить кнопку, если в jTable не выбрано ни одной строки.Есть ли способ сделать это?

Ответы [ 3 ]

6 голосов
/ 09 декабря 2010

Используйте SelectionListener на вашем JTable.

JTable table = new JTable();
JButton button = new JButton();
button.setEnabled(false);

ListSelectionModel listSelectionModel = table.getSelectionModel();
listSelectionModel.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) { 
            ListSelectionModel lsm = (ListSelectionModel)e.getSource();
            button.setEnabled(!lsm.isSelectionEmpty());
});
3 голосов
/ 09 декабря 2010

Примерно так должно работать:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener()
{
    @Override
    public void valueChanged(ListSelectionEvent e)
    {
        if (!e.getValueIsAdjusting())
        {
            boolean rowsAreSelected = table.getSelectedRowCount() > 0;
            button.setEnabled(rowsAreSelected);
        }
    }
});
0 голосов
/ 09 декабря 2010

Добавьте слушателя выбора к вашему столу.Если выбор сделан, включите кнопку.Пусть кнопка по умолчанию отключена.

http://download.oracle.com/javase/6/docs/api/javax/swing/JTable.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...