Пока программа запускается из консоли, она может выполнять чтение и запись из / в консоль.Нет ничего, что делает Java-программу «GUI» или «Консоль», за исключением кода.
Если вы хотите всегда иметь консоль независимо от того, как запускается программа, вы можете просто кодировать фрейм, который будет вести себя какодин.