Копировать элементы из JList в JTable

У меня есть простой JFrame с JList, JTable и двумя JButton, как показано ниже.

введите здесь описание изображения

Я хотел бы скопировать выбранные элементы из списка в таблицу с помощью кнопки «Добавить» и удалить элементы в таблице (при добавлении) с помощью кнопки «Удалить».

Спасибо за любую помощь


person Alberto acepsut    schedule 19.06.2012    source источник
comment
Не могу найти примеры для подражания   -  person Alberto acepsut    schedule 19.06.2012


Ответы (1)


Вам нужно добавить прослушиватель к кнопкам, который получает выбранный элемент из списка и соответствующим образом изменяет таблицу. Вот некоторый код, чтобы вы начали:

        final JButton add = new JButton();
    final JButton remove = new JButton();
    final DefaultTableModel tableModel = new DefaultTableModel();
    final JTable table = new JTable(tableModel);
    final JList list = new JList();

    add.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Object selectedPlanet = list.getSelectedValue();
            tableModel.addRow(new Object[] { selectedPlanet });
        }
    });
    remove.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Object selectedPlanet = list.getSelectedValue();
            int columnContainingPlanets = 0;
            for (int index = columnContainingPlanets; index < tableModel.getRowCount(); index ++)
                if (tableModel.getValueAt(index, columnContainingPlanets).equals(selectedPlanet)) {
                    tableModel.removeRow(index);
                    break;
                }
        }
    });
person Garrett Hall    schedule 19.06.2012