Как использовать Java-приложения для просмотра на окнах - как?

Можно ли использовать Java для создания приложений, которые выглядят родными в Windows? Меня не волнует, является ли решение переносимым или нет, потому что я только планирую нацелить пользователей Windows. Я использую Scala, если это имеет значение.

Извините за отсутствие деталей, но я никогда не использовал Java раньше, поэтому я даже не уверен, что это возможно.

Ответ 1

try {
    // Set the Look and Feel of the application to the operating
    // system look and feel.
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (ClassNotFoundException e) {
}
catch (InstantiationException e) {
}
catch (IllegalAccessException e) {
}
catch (UnsupportedLookAndFeelException e) {
}

Это должно установить Look and Feel на внешний вид системы. Вы сделали бы это перед любым вашим графическим интерфейсом. Например, в вашем методе main.

Если вы хотите узнать больше о Look and Feels, я бы посмотрел Учебник по Java на них, как было предложено автомойкой.

Ответ 2

Все остальные разместили вещи Swing, поэтому я буду играть в Devil advocate и упомянуть SWT.

SWT - это набор инструментов виджета, созданный фондом Eclipse. Это тонкая оболочка по встроенному графическому интерфейсу системы... для Windows, OSX и различных аксессуаров * nix (Linux, AIX, BSDs и т.д.).

Это противоположный маршрут, который Sun JFC/Swing взял, который рисует свои собственные компоненты.

Ответ 4

Вы должны использовать внешний вид Windows.

Вы можете указать его в командной строке:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp

Или в коде

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

Вот подробности: Как установить внешний вид

Ответ 5

Странно, что никто еще не упомянул JGoodies.

JGoodies Windows look & feel фокусируется на точной эмуляции в Windows 95/98/NT/ME/2000 в следующих областях: меню, значки, цвета, границы, шрифты, размеры шрифтов, вставки и размеры виджета. Он отличает разрешение экрана (96 точек на дюйм против 120 точек на дюйм) для настройки размеров, вставки и размеров виджета. (Источник)

Ответ 6

Да, у Java есть внешний вид Windows, доступный в Windows. Посмотрите, как изменить внешний вид и это должно привести вас в правильном направлении.

Ответ 7

Вы бы сделали что-то вроде:

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

(Это, конечно, работает только на Windows.) Результат выглядит и чувствует себя достаточно родным. Дополнительная информация, например. здесь.

Ответ 8

Вы должны использовать native Look & Feel