Вот код, который создает и отображает JProgressBar на EDT. На Apple Java 6 индикатор прогресса активизируется. В Oracle, Java 7, он не делает:JProgressBar не анимируется ТОЛЬКО на Mac с Java 1.7
import javax.swing.*;
public class ScratchSpace {
public static void main(String[] args) {
System.out.println("java.version = " + System.getProperty("java.version"));
System.out.println("java.vm.version = " + System.getProperty("java.vm.version"));
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JProgressBar progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
JFrame frame = new JFrame();
frame.getContentPane().add(progressBar);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
Чтобы быть точным, я использую Java 1.7.0_12-еа и OS X 10.8.3.
Вы видите что-то, что я делаю неправильно? Если нет, есть ли работа?
Edit: вот выводимый текст:
java.version = 1.7.0_12-ea
java.vm.version = 24.0-b27
Edit: it seems to be a known problem
Так что теперь мой вопрос заключается в следующем: как я могу обойти эту проблему?
* «Вы видите что-то, что я делаю неправильно?» * Мне кажется, что это прекрасно. Фактически, этот короткий пример и результат указывают на ошибку в JRE. Проверьте [bug DB] (http://bugs.sun.com/) на все похожие и возможные обходные пути. Если ничего не найдено, пожалуйста, поднимите новый отчет. –
Не могли бы вы добавить ['java.version' + **' java.vm.version' **] (http://pscode.org/prop/?prop=java.version%2Cjava.vm.version&format=TSV) в выходе? Я не уверен, что это необходимо, но это не повредит. –