Хотелось бы немного подробнее остановиться на других ответах, хотя и правильных.
Java-классы, имеющие метод public static void main(String[] args)
, могут быть выполнены из командной строки с помощью команды java
.
Аргументы, передаваемые в командной строке, доступны как строки в массиве args
.
В вашей ситуации приложение, включая класс SettingsWindow на своем пути к классам, уже запущено, и пользователи могут вводить команды в него. Когда это происходит, вызывается GUI-класс, но он не «выполняется» так же, как при запуске нового Java-приложения. Класс SettingsWindow уже является частью приложения и может вызываться любым другим методом, необязательно main
.
В дополнение к передаче параметров из командной строки, можно также указать переменные окружения с помощью -DsomeName=someValue
. Эти переменные переопределяют системные свойства во время выполнения, поэтому «someValue» будет возвращено путем вызова System.getProperty("someName");