Почему я должен дать родителю для создания клиента? - PullRequest
1 голос
/ 11 апреля 2019

Я пытаюсь создать небольшой маленький клиентский графический интерфейс для моего проекта, который должен получать команды по сети от клиента.

Для сервера я использую Processing, потому что мне нужен красивый холст, так как я хочу проецировать его с помощью проектора. Но для входных данных я не хочу использовать обработку, потому что она не имеет кнопок, выпадающих списков или текстовых полей (или, по крайней мере, я не нашел для нее lib).

Поэтому я добавил библиотеку Processing в свою среду Eclipse и использовал библиотеку Java для экранов, кнопок и прочего. Мне все еще нужно использовать processing.net.Client для поддержки соединений между моим клиентом и сервером, но processing.net.Client хочет иметь в качестве аргумента родителя PApplet. Так как я не использую обработку для моего дисплея, у меня нет PApplet (я думаю, что у меня есть JFrame сейчас). Это вызывает проблемы, которые я не могу исправить прямо сейчас.

 myClient = new Client(~Here should be a PApplet~,"127.0.0.1",port);

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 12 апреля 2019

Звучит так, как будто вы используете библиотеку Network для обработки.

Если это так, класс Client требует аргумент PApplet, поскольку библиотека была разработана для использования из обработкиэскиз.Вы можете найти более подробную информацию в справке .

Что касается причины, вы можете взглянуть на источник для Client класса здесь .Похоже, класс Client использует класс PApplet для нескольких вещей, в частности для настройки обратных вызовов методов.

Вы можете создать фиктивный экземпляр PApplet для своего клиента.Если вы сделаете это, убедитесь, что вы определили / вызвали все необходимые функции, чтобы работали обратные вызовы.

Или вы можете использовать более общую сетевую библиотеку, которая не требует обработки.

Я не хочу использовать Processing, потому что в ней нет кнопок, раскрывающихся списков или текстовых полей (или, по крайней мере, я не нашел для нее lib).

В обработке есть несколько библиотек GUI.Пожалуйста, смотрите страницу библиотеки .

...