У меня проблема:JProgressBar Анимация в таблице
У меня есть JTable, которая показывает мне ход выполнения команды. У меня есть 2 команды. Определенные и неопределенные команды.
Если у меня есть только определенные контрольные панели в таблице, прогресс будет показан правильно. , но если у меня есть один определенный прогресс в нем, другой неопределенный не будет анимирован.
Вот мой код:
class ProgressBarRenderer implements TableCellRenderer {
/** The bar. */
private JProgressBar bar = new JProgressBar() {
public boolean isDisplayable() {
return true;
};
};
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
ProgressBarInfo pbi = (ProgressBarInfo) value;
if (pbi.getType() == Progress.LS) {
if (pbi.getValue() == -1) {
bar.setIndeterminate(false);
bar.setValue(0);
bar.setString("Progress ended");
} else {
bar.setIndeterminate(true);
bar.setString(pbi.getValue() + " " + pbi.getText());
}
bar.setStringPainted(true);
return bar;
} else if (pbi.getType() == Progress.SCP) {
if (pbi.getValue() == -1) {
bar.setIndeterminate(false);
bar.setValue(0);
bar.setString("Progress ended");
} else {
bar.setValue(pbi.getValue());
bar.setString(pbi.getValue() + "% " + pbi.getText());
}
bar.setIndeterminate(false);
bar.setStringPainted(true);
}
return bar;
}
}
Таблица обновляется каждые 10 миллисекунд в SwingWorker потоком, так что не возражает об этом.
Почему два утверждения 'return bar'? – trashgod
Просто убедитесь, что он вернется после установки полосы в режим неопределенности – NotANormalNerd