Ну, у меня есть JTable в моем приложении, которое извлекает записи из базы данных MySql и отображает их в отсортированном порядке. До сих пор я использовал отдельную JTextArea и JComboBox, чтобы позволить пользователям редактировать таблицу, что-то вроде
поэтому всякий раз, когда кто-то нажимает на строку в таблице, идентификатор записи автоматически обновляется ниже в JLabel, который лежит перед JComboBox.
Вопрос в том, как я могу позволить пользователям просто дважды щелкнуть и изменить значения в ячейках, которые автоматически запускают запрос SQL Update и обновляют их в базе данных. Я хочу разрешить это на определенных столбцах только не во всех столбцах.
Ответ с примером кода будет высоко оценен.
как я могу позволить пользователям просто дважды щелкнуть и изменить значения в ячейках, которые автоматически запускают запрос SQL Update и обновляют их в базе данных.
Вы можете использовать TableModelListener
для уведомления об изменениях в TableModel
.
Я хочу разрешить это на определенных столбцах только не во всех столбцах.
TableModelEvent
/столбец находится в TableModelEvent
поэтому вы проверяете столбец, который был изменен перед вызовом обновления SQL.
Одна из потенциальных проблем заключается в том, что создается TableModelEvent, даже если данные не изменены. То есть, если вы поместите ячейку в режим редактирования и, например, вкладку в следующую ячейку без изменения, данные и событие все равно будут сгенерированы.
Чтобы обойти эту проблему, вы можете захотеть использовать прослушиватель Cell Cell. При использовании этого класса событие генерируется только в том случае, если данные фактически были изменены.