Как передать аргумент в файл Java? - PullRequest
0 голосов
/ 06 сентября 2018

Итак, у меня есть два файла Java.Одна - консольная программа, другая - GUI.Если пользователь вводит команду в консольной программе, он открывает графический интерфейс.Довольно простоЭто делается через SettingsWindow.main(new String[0]);.

Моя цель - передать аргументы в SettingsWindow.java.Я вижу new String[0] и могу поспорить, что именно там я и привел аргументы, но я не мог понять, как вставить строку (через array или просто String), если она не выдаст мне ошибку.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Вам нужно передать в массив. Вы уже есть, но это просто размер 0. Для передачи информации вы должны использовать что-то вроде этого

    SettingsWindow.main(new String[] {"info", "more info"});
0 голосов
/ 06 сентября 2018

Хотелось бы немного подробнее остановиться на других ответах, хотя и правильных.

Java-классы, имеющие метод public static void main(String[] args), могут быть выполнены из командной строки с помощью команды java.

Аргументы, передаваемые в командной строке, доступны как строки в массиве args.

В вашей ситуации приложение, включая класс SettingsWindow на своем пути к классам, уже запущено, и пользователи могут вводить команды в него. Когда это происходит, вызывается GUI-класс, но он не «выполняется» так же, как при запуске нового Java-приложения. Класс SettingsWindow уже является частью приложения и может вызываться любым другим методом, необязательно main.

В дополнение к передаче параметров из командной строки, можно также указать переменные окружения с помощью -DsomeName=someValue. Эти переменные переопределяют системные свойства во время выполнения, поэтому «someValue» будет возвращено путем вызова System.getProperty("someName");

0 голосов
/ 06 сентября 2018

Попробуйте что-то вроде ниже:

SettingsWindow.main(new String[]{"param1", "param2"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...