Ответ 1
Существует не встроенный, а пользовательские интерфейсы в Swing... ну... один из самых болезненных событий в развитии, который у меня когда-либо был. Интерфейс пользовательского интерфейса настолько специфичен для платформы, что кросс-платформенный интерфейс - это мечта для любого полукомплексного пользовательского интерфейса. Единственное место, где он работает, - это то, что ваш пользовательский интерфейс в основном представляет собой панель меню и поверхность, на которую вы рисуете собственный пользовательский интерфейс.
Тем не менее, я думаю, что в долгосрочной перспективе вы, вероятно, изучаете пользовательский интерфейс и виджет, работающие на определенном уровне, и хотя это будет много настраиваемых инструментов пользовательского интерфейса, компромисс заключается в том, что, по крайней мере, вы будете контролировать интерфейс с этой точки зрения, мог бы быть в курсе последних событий, и вам не придется беспокоиться о том, что Java решает, хороший дизайн пользовательского интерфейса.
Некоторые возможные варианты, ни одна из которых не будет иметь большой боли:
- Выберите один из двух встроенных параметров L & F или установите его по умолчанию для платформы (ваше приложение выглядит как родное платформа), хотя вам придется отлаживать приложение на каждой платформе отдельно, чтобы убедиться, что пользовательский интерфейс работает последовательно. По крайней мере, с этой опцией, если вы установите для нее платформу по умолчанию, приложение будет выглядеть примерно как родное приложение для любой ОС.
- Посмотрите на SWT - вероятно, в долгосрочной перспективе это не стоит - вы просто торгуете одним набором ситуаций, отличных от идеи, для другой, я думаю, но хорошо, по крайней мере, получить образование по поводу ваших вариантов.
- Стиль L & F с CSS - никогда не пробовал это сам - но, возможно, стоит посмотреть. Но лично я бы не стал инвестировать в больше время привязки вашего приложения к Swing, если вы можете его избежать. Как вы видели, это один из тех ужасных рабочих мест.
- Поставьте свое приложение в качестве веб-приложения, которое, я уверен, является серьезным перепроектированием, и просто пользователи получают доступ к нему через браузер. Я понимаю, что это, вероятно, "ядерный вариант" и совершенно нереалистичен, но просто выбрасывает его там.
- Подсоедините его и пусть ваше приложение будет выглядеть как дерьмо. В мире существуют худшие судьбы.