Я склонен согласиться с другими здесь, особенно со Сразом и Смачи.
Одна вещь, которую я добавлю, хотя. Если вы чувствуете, что OS L & F слишком стеснительна, и у вас есть все основания выходить за ее пределы, я постараюсь следовать принципу «шаг вперед и вперед» (который я заимствую здесь из контекста НЛП).
Идея состоит в том, что вы все еще хотите извлечь максимальную выгоду из предполагаемого знакомства аудиторов с операционной системой хоста (из этого будут редкие исключения, о которых Smaci уже рассказывал). Таким образом, вы используете как можно больше «стандартных» элементов управления и поведения (это «шаг»), но расширяете его там, где это необходимо, способами, которые все еще «вписываются», насколько это возможно (ведущий).
Вы уже упоминали о некоторых хороших примерах этого принципа в работе - Visual Studio, даже Office в некоторой степени (Office - «особенный», так как новые стили пользовательского интерфейса, которые здесь режут зубы, часто возвращаются в будущие версии ОС - или фактические стандарты).
Я поднимаю это, чтобы противопоставить типу приложений, которые просто «делают это по-своему» - обычно потому, что они были перенесены с другой платформы или написаны как кроссплатформенные в графическом интерфейсе и ядре. , Java-приложения часто попадают в эту категорию, но они не единственные. Это не так плохо, как раньше, но даже сегодня большинство профессиональных аудиоприложений имеют бесподобные пользовательские интерфейсы, демонстрирующие их происхождение, поскольку они были перенесены с одной платформы на другую на протяжении многих лет. Несмотря на то, что для этих примеров могут быть веские коммерческие причины, остается, что их пользовательские интерфейсы имеют тенденцию отстой, и следует избегать этого пути, если это возможно!
Главный принцип по-прежнему заключается в том, чтобы следовать по пути наименьшего удивления и учитывать знакомство вашего пользователя с ОС и соотношение времени, в течение которого вы используете ваше приложение, с другими в ОС.