Настройка внешнего вида для разных ОС

Я хочу запустить свое приложение на другой платформе, и я хочу использовать разный внешний вид для каждой платформы. не могли бы вы указать, как можно подойти к этому?

Это то, что я сделал. в основном классе Java я добавил статический блок и добавил условие ниже.

if(System.getProperty("os.name").startsWith("Windows")) //Added for linux
{
  UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
else
{
  UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
}

Когда я запускаю свое приложение на платформе Linux, оно не показывает внешний вид металла, а показывает внешний вид Java по умолчанию в основном в JOptionPane.


person user1280096    schedule 21.06.2013    source источник


Ответы (2)


Возможно, ваш ответ доступен здесь: http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

Или прочитайте этот вопрос SO: Как настроить внешний вид jframe

person Chris Mukherjee    schedule 21.06.2013
comment
да, теперь я получаю то, что ожидал. но JOptionPane отображается без строки заголовка. Не могли бы вы мне помочь? - person user1280096; 21.06.2013
comment
Это может быть несвязанной проблемой. Пожалуйста, опубликуйте код. Было бы лучше открыть еще один вопрос для этой второй проблемы. Опубликуйте ссылку на новый вопрос в качестве комментария здесь, и я постараюсь помочь. - person Chris Mukherjee; 21.06.2013
comment
Кроме того, не стесняйтесь принимать мое решение выше, если оно помогло (хотя это не было прямым решением, а на самом деле было скорее руководством к правильному решению). Твой выбор. - person Chris Mukherjee; 21.06.2013

Используйте внешний вид системы.

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
person Andrew Thompson    schedule 22.06.2013