Итак, я гуглил и искал это, но я мог найти что угодно: я вызвал этот метод в своем коде
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception exc) {
System.out.print("failed to load look and feel");
}
Затем я добавил JProgressBar с именем progressBar и вызвал этот код, когда я нажимаю кнопку в своем графическом интерфейсе:
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
Видите, мой очень прямоугольный и заполняет только часть полосы прогресса, а не снаружи? Я хочу знать, есть ли способ использовать внешний вид системы по умолчанию, но с возможностью использовать индикаторы выполнения, и чтобы они выглядели так же, как в других программах. Есть ли способ сделать это? Спасибо.
SwingUtilities.updateComponentTreeUI(JFrame);
, чтобы убедиться, что он правильно изменил LAF. - person   schedule 09.02.2013