Как сделать iGoogle как пользовательский интерфейс, используя java swing

Я разрабатываю настольное приложение с графическим интерфейсом, используя Java Swing. И я хочу показать несколько "подокнов" в одном окне (JFrame). И я хочу, чтобы макет был похож на iGoogle, чтобы пользователь мог добавлять и удалять новое подокно. Проще говоря, я предполагаю, что все "подокна" имеют одинаковый размер и одинаковое содержание (все показывают диаграмму). Кстати, максимальное количество "подокон" не будет огромным числом. Я думаю, что это меньше, чем 8.

  1. если нет перетаскивания, могу ли я просто использовать сетку для его реализации?
  2. если есть перетаскивание, каков простой способ сделать это?

Спасибо Большое.

К вашему сведению: iGoogle http://www.google.com.hk/ig

2 ответа

Решение

Я не знаю, что такое iGoogle, но похоже, что вы должны использовать внутренние рамки. См. Раздел из учебника Swing по использованию внутренних рамок.

Если все "подокна" будут одинакового размера и не будут перетаскиваться, я бы просто использовал простую компоновку. кажется хорошим случаем использовать TableLayout. В простом случае, когда вы знаете максимальное количество слотов, вы можете иметь 8 соответствующих JPanels и добавить их в Контейнер, используя макет таблицы (убедитесь, что revalidate()) по запросу пользователя. если пользователь закрывает его, вы просто удаляете его из контейнера и проводите повторную проверку. Надеюсь, это поможет. если вам не нужна функциональность стыковки, даже не идите по этому пути - мой совет.

РЕДАКТИРОВАТЬ:

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

Другие вопросы по тегам