Перетаскивание Java GUI

Я ищу для создания графического интерфейса на Java, где я размещаю элементы управления или элементы на левой панели и могу перетащить их на панель дизайнера, аналогичную созданию модели в Visio.

В настоящее время я смотрю JGraphX ​​, он позволяет создавать графики и т.д.

Существуют ли какие-либо другие проекты, которые поддерживают это, или инструменты и т.д.

Ответ 1

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

  • Редактор свойств для элементов пользовательского интерфейса всегда показывает 150 свойств, которые мне не нужны, и мне приходится каждый раз прокручивать их, чтобы получить тот, который я всегда меняю.
  • Для изменения свойств требуется слишком много кликов мышью (а иногда и целью игрока StarCraft мирового класса).
  • Невозможно повторно использовать общие вещи, такие как цвета, тексты, инициализация
  • Полученный код - это большой, нечитаемый беспорядок без структуры
  • Отсутствует завершение кода

Ответ 2

WindowBuilder (Swing, SWT, GWT и т.д.) был коммерческим продуктом, прежде чем Instantiatons был приобретен Google и был предложен как новый проект для Фонда Eclipse. Хотя у вас всегда будет максимальная гибкость в ручном кодировании (например, Аарон предлагает в своем ответе), у меня был большой опыт работы с инструментом.

Проект находится в Eclipse Incubation в настоящее время, но используется в производстве в течение многих лет. Если вы хотите создать графический интерфейс с помощью Drag'n'Drop, вам обязательно нужно взглянуть на WindowBuilder.

Ответ 4

JGraphx имеет хороший пример, называемый editor, который делает именно то, что вы пытаетесь выполнить. Просто загляните в загруженный zip файл в /examples/com/mxgraph/examples/swing/editor - все, что вам нужно.

В качестве альтернативы вы можете использовать JUNG http://jung.sourceforge.net/. Для этого см. Следующую демонстрацию - это может дать вам некоторые подсказки: http://jung.sourceforge.net/applet/grapheditordemo.html

Ответ 5

Возможно, посмотрите Eclipse Modeling Framework. Это хорошая отправная точка для инструмента моделирования.