Я пытаюсь загрузить несколько файлов по сети. при загрузке это займет неопределенное время. поэтому вы хотите отображать неопределенную jprogressbar во время загрузки. Однако проблема заключается в том, что моя jprogressbar и загрузка не работают одновременно. Я попробовал загрузку в отдельном потоке, сохраняя jprogressbar в EDT. Я попробовал несколько разных способов. некоторые из них: 1) реализованный Runnable и в run() Я загрузил файл. В это время прогресс был в EDT. (не работал.) 2) имел два отдельных потока и помещал как загрузку, так и обработку progressbar в каждом. (не работает). код для этого:Jprogressbar не работает
Thread oThread = new Thread(new Runnable() {
@Override
public void run()
{
progressBar.setIndeterminate(true);
progressBar.setVisible(true);
progressBar.validate();
}
});
Thread oThread1 = new Thread(new Runnable()
{
@Override
public void run() {
logger.info("Upload result from ***: "+ newport.upload(textbyte, wavbyte,xmlbyte, filename));
}
});
3), то я переписал всю вещь и попробовал другой подход, используя Исполнитель, как это:
executor.execute(new Runnable() {
@Override
public void run() {
upload actions
SwingUtilities.invokeLater(new Runnable() {
progBar.setVisible(false);
});
}});
, но ни один из этих методов не работал. Я новичок в этом, и мне интересно, нужно ли все это сделать, чтобы отобразить jprogressbar (неопределенный). Я хотел бы знать, есть ли более простой и простой способ сделать это.
Пробовали ли вы примеры из Swing-учебник по 'Как использовать Прогресс Bars'? – camickr
@camickr почти все из них. теперь, когда я ищу проблемы jprogressbar, все веб-сайты, возвращаемые google, отображаются в виде посещенных ссылок. –
Это не отвечает на мой вопрос. Учебник Swing имеет рабочий пример. Почему, по вашему мнению, любой пример, который мы публикуем здесь, будет отличаться от примера, найденного в учебнике? Вы не задали конкретный вопрос о коде, который вы считаете запутанным в учебнике. – camickr