Все зависит от того, как его использовать. Если вам нужно переключаться между этими двумя панелями, используйте CardLayout. Если вы только переключаетесь с первого на второй и (и не возвращаетесь назад), я бы использовал предложение telcontar и просто заменил его. Хотя если JPanel не единственная вещь в вашем фрейме, я бы использовал remove (java.awt.Component) вместо removeAll.
Если вы находитесь где-то между этими двумя в основном это компромисс между временным пространством. CardLayout сэкономит ваше время, но займет больше памяти, если вы будете постоянно держать эту всю панель в памяти. Но если вы просто замените панель, когда это необходимо, и постройте ее по требованию, вам не нужно поддерживать этот круг, но требуется больше времени для переключения.
Также вы можете попробовать использовать JTabbedPane для использования вкладок (это даже проще, чем CardLayout, потому что оно автоматически обрабатывает отображение / скрытие)
Похоже, ваша проблема связана с Column(Integer,primary_key = True,autoincrement = False, nullable=False)
. Посмотрите в документах сигнатуру функции для Column
. - первым аргументом для столбца должен быть столбец «имя», за которым следует столбец «тип».
Первый аргумент должен быть назван как «aya_id».