Вы можете использовать CardLayout вместе с JPanels, чтобы делать то, что вы хотите, и не использовать JTabbedPanes. Поскольку вам нужно использовать панели с вкладками, я бы посоветовал, чтобы после того, как было достигнуто условие, вы хотите, чтобы пользователь оставался на этой вкладке, установите эту вкладку как выбранную с помощью.
setTabComponentAt(int index, Component component)
или
setSelectedIndex(int index)
Установите флажок, указывающий, что пользователь не сможет продолжить, пока не выполнит все, что вы от него хотите, и не отключите все остальные вкладки с помощью setEnabledAt(int index, boolean enabled)
.
После того, как пользователь выполнил необходимое, чтобы продолжить, установите соответствующий флаг и снова включите другие вкладки.
У меня нет времени, чтобы попробовать это решение, но я думаю, что оно должно работать.