Я хотел бы изменить стандартные компоненты Vaadin 7 MultiFileUpload с MiB на MB и т. Д. При отображении хода загрузки файла.
Я обнаружил, что есть булева переменная ' si ', относящаяся к формату единиц размера файла - в методе, показывающем ход загрузки - который можно использовать, чтобы решить, какой формат меня интересует .
Существует метод ' getHumanReadableByteCount (long bytes, boolean si) ', устанавливающий единицы в соответствии со значением ' si ' .:
UploadUtil.java github
int exp = (int) (Math.log(bytes) / Math.log(unit));
String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i");
return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
Но в компоненте, который я использую, int ' setProgess ' метод - ' getHumanReadableByteCount (...) ' запускается с ' false ' как ' si ', и, в результате, в формате единиц МБ. Чтобы избавиться от 'i' в единицах, я должен вызвать метод с помощью ' true '.
UploadStateLayout.java github
textualProgress.setValue(UploadUtil.getHumanReadableByteCount(bytesReceived, false) + " / "
+ UploadUtil.getHumanReadableByteCount(contentLength, false));
Можно ли использовать другой компонент или использовать true для формата единиц измерения si , который я не могу найти? Я что-то упустил?
Заранее спасибо!