Как сделать iGoogle как пользовательский интерфейс, используя java swing
Я разрабатываю настольное приложение с графическим интерфейсом, используя Java Swing. И я хочу показать несколько "подокнов" в одном окне (JFrame). И я хочу, чтобы макет был похож на iGoogle, чтобы пользователь мог добавлять и удалять новое подокно. Проще говоря, я предполагаю, что все "подокна" имеют одинаковый размер и одинаковое содержание (все показывают диаграмму). Кстати, максимальное количество "подокон" не будет огромным числом. Я думаю, что это меньше, чем 8.
- если нет перетаскивания, могу ли я просто использовать сетку для его реализации?
- если есть перетаскивание, каков простой способ сделать это?
Спасибо Большое.
К вашему сведению: iGoogle http://www.google.com.hk/ig
2 ответа
Я не знаю, что такое iGoogle, но похоже, что вы должны использовать внутренние рамки. См. Раздел из учебника Swing по использованию внутренних рамок.
Если все "подокна" будут одинакового размера и не будут перетаскиваться, я бы просто использовал простую компоновку. кажется хорошим случаем использовать TableLayout. В простом случае, когда вы знаете максимальное количество слотов, вы можете иметь 8 соответствующих JPanels и добавить их в Контейнер, используя макет таблицы (убедитесь, что revalidate()) по запросу пользователя. если пользователь закрывает его, вы просто удаляете его из контейнера и проводите повторную проверку. Надеюсь, это поможет. если вам не нужна функциональность стыковки, даже не идите по этому пути - мой совет.
РЕДАКТИРОВАТЬ:
вы также можете реализовать перетаскивание, используя собственные обработчики мыши.