2013-02-08 4 views
0

Я гугл и искал, но я смог найти что-нибудь на нем: Я назвал этот метод в моем кодеява прогресса бар анимация

try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    } catch (Exception exc) { 
     System.out.print("failed to load look and feel"); 
    } 

Я затем добавил JProgressBar называет ProgressBar и призвал этот код когда я нажимаю кнопку на моем gui:

progressBar.setBorderPainted(true); 
    progressBar.setValue(progressBar.getValue()+1); 
    Progresslabel.setText("Progress... "+progressBar.getString()); 

Progresslabel - это всего лишь метка для отображения прогресса. Теперь, когда я делаю это, будет отображаться индикатор, как это:

http://i.imgur.com/gXp5ByH.png

вместо как это на других приложениях:

http://i.imgur.com/M61Cd59.png

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

+0

Попробуйте вызвать 'SwingUtilities.updateComponentTreeUI (JFrame);' чтобы убедиться, что он правильно изменил LAF. – 2013-02-08 20:35:14

+0

спасибо, но я уже реализовал это в своем коде. Я пытался добавить его в разных местах, но не повезло. Спасибо, в любом случае! – user2016463

ответ

0

Вы можете использовать SWT, чтобы создать собственные виджеты. Прогресс Swing делает все возможное, чтобы подражать виджетам ОС, но это не настоящая вещь. Отсутствие анимированных окон прогресса Windows является одним из Swing's downfalls.

С другой стороны, SWT использует реальные виджеты, которые выглядят очень красиво.

Смежные вопросы