. Но если я выберу другую дату и снова нажму кнопку, таблица пересекается и выглядит странно.
getContentPane().add(scrollTable);
Не продолжайте создавать и добавлять новые компоненты в кадр. Старый компонент никогда не удаляется, поэтому у вас есть несколько компонентов в кадре в одном месте.
Вы должны добавлять свои компоненты в фрейм один раз в конструкторе вашего класса.
Затем, чтобы изменить данные, вам нужно варианты.
лучше всего просто изменить модель таблицы, используя метод setModel (...) Table
другой вариант - изменить компонент в области просмотра области прокрутки. Это делается с помощью метода setViewportView(...)
из JScrollPane
. Итак, вы создаете новый JTable и добавляете его в окно просмотра.
Таким образом, ваша логика ActionListener
теперь будет просто создавать TableModel
или TableModel
и JTable
, в зависимости от того, какой подход вы используете. Первый подход проще, поскольку вы создаете только один новый объект.