Как получить значение ячейки jtable в зависимости от того, какая строка нажата - PullRequest
3 голосов
/ 30 марта 2011

Я пытаюсь использовать метод обновления в моей jtable, которая связана с базой данных и хотела бы заполнить текстовые поля в форме в зависимости от того, какую строку нажимают пользователи. Я понимаю, что мне понадобится метод getValueAt (), однако я не уверен, как заполнять какую строку в зависимости от того, какую строку нажимает пользователь. Я не могу найти что-либо в Google или что-то еще, поэтому любая информация будет полезна!

Ответы [ 2 ]

10 голосов
/ 06 октября 2011
private final UrTableModel urTableModel;
private JTable urTable;
...

// 1. Create your table model class that should extends from DefaultTableModel, instantiate it
urTableModel=new UrTableModel();

// 2. creates table
table = TableUtils.createStandardSortableTable(urTableModel);

// 3. customize your table
table.setBackground(Color.WHITE);
table.getTableHeader().setReorderingAllowed(false);

// 4. Add the mouse listner to it
table.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(final MouseEvent e) {
        if (e.getClickCount() == 1) {
            final JTable target = (JTable)e.getSource();
            final int row = target.getSelectedRow();
            final int column = target.getSelectedColumn();
            // Cast to ur Object type
            final UrObjctInCell urObjctInCell = (UrObjctInCell)target.getValueAt(row, column);
            // TODO WHAT U WANT!
        }
    }
});

Приветствия,

4 голосов
/ 30 марта 2011

Вам понадобится вызвать getValueAt () модель вашей таблицы, чтобы получить нужные вам значения.Вам также понадобится слушатель на столе для прослушивания выборов.Так что, как только пользователь выберет строку, вы вызываете getValueAt (), чтобы получить значение для конкретного столбца данных в этой строке.

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