Панель Jprogress отслеживает загрузку

Примечание. Я часами просматривал сотни тем на разных сайтах, но ни одна из них не является тем, что я хочу сделать. Не могу даже найти некоторые, которые я мог бы собрать как пазл. Создание нового класса для него - это то, что я предпочитаю. Если есть лучший способ сделать это в основном классе, было бы неплохо :) Надеюсь, кто-то из вас сможет мне помочь.

Моя старая система загрузки открывает новое окно для загрузки, и это просто раздражает и выглядит как дерьмо.

Что я хочу сделать, так это добавить Jprogressbar в мою систему загрузки, пока он отображается в текущем jframe. У кого-нибудь есть исходный код или ссылка на руководство для этого конкретного запроса?

Я пытаюсь добавить лучший менеджер загрузок с jProgressBar в середине экрана. Как только я выясню, как это сделать, я, вероятно, смогу закончить остальную часть своей идеи самостоятельно. Спасибо всем, кто может мне помочь :/

Пример моего экрана загрузки.


person Ryan    schedule 23.09.2013    source источник
comment
Приложение, запущенное с помощью Java Web Start, имеет доступ к JNLP API, который включает в себя DownloadService, который, в свою очередь, предоставляет множество функций, включая индикатор выполнения загрузки.   -  person Andrew Thompson    schedule 23.09.2013


Ответы (1)


Взгляните на Как использовать индикаторы выполнения и просто в случай, Параллелизм в Swing

И несколько примеров SwingWorker и индикатора выполнения...

Вы также можете попробовать использовать ProgressMonitor... например... Как создать индикатор выполнения при передаче файлов

person MadProgrammer    schedule 23.09.2013
comment
См. ‹del›также‹/del› в частности ProgressMonitorInputStream, который обычно используется с ProgressMonitor в качестве компонента пользовательского интерфейса. - person Andrew Thompson; 23.09.2013
comment
Да, это кажется идеальным для этой ситуации, если OP действительно хочет использовать свою собственную систему загрузки (в отличие, например, от той, которую предоставляет JWS). Я забыл, когда писал комментарий, что чудесный учебник, на который вы ссылались, явно охватывает их! Но я уверен, что наши, например. лучше, чем у них. ;) - person Andrew Thompson; 23.09.2013
comment
Что касается тех ссылок, которые вы мне предоставили. Я прочитал учебники по Oracle, и мне удалось лишь немного приблизиться к тому, что я пытался сделать. Я не ищу кого-то, кто передаст мне код, а просто хотел ответить, сообщив вам, что я прочитал их и все еще не понимаю. - person Ryan; 23.09.2013
comment
Итак, я знаю, как заставить его отслеживать загрузку файла, просто не понимаю, как нарисовать его на jframe, как если бы вы рисовали изображение, например: g.drawImage(300, 300); - person Ryan; 23.09.2013
comment
Нет. Вы бы добавили его в фрейм, как и любой другой компонент... Последний JProgressBar - хороший простой пример... - person MadProgrammer; 23.09.2013
comment
Я все еще не понимаю, что вы там говорите. Последний JProgressBar? ссылку ты мне дал? ни в одной из этих ссылок не показан метод рисования координат. Я хочу иметь возможность рисовать в любом месте экрана, используя координаты пикселей. Извините, если я расстраиваю, кстати. Обычно это не так, но индикаторы прогресса были моей борьбой в течение последних нескольких дней. - person Ryan; 23.09.2013
comment
JProgressBar такой же, как и любой другой компонент Swing (например, JLabel). Вы добавляете их в контейнер, а Swing позаботится об остальном за вас. Попробуйте просмотреть этот пример. - person MadProgrammer; 23.09.2013
comment
Какие ошибки это вызовет, если это произойдет? Потому что в таких играх, как runescape и jethnisity, есть JProgressBars, и я смотрю и частные серверы для обоих, а в некоторых из них полосы перемещаются по экрану. - person Ryan; 23.09.2013
comment
Наиболее важной проблемой является знание того, насколько большим должен быть индикатор выполнения на экране в зависимости от пользовательской среды. То, что хорошо выглядит на вашем экране, может не понравиться другому... - person MadProgrammer; 23.09.2013
comment
Да, просто чтобы уберечь вас от вырывания волос, я просто оставлю свой текущий экран загрузки и просто поставлю % в тексте над значком загрузки. Извините, что потратил ваше время. Реп++ - person Ryan; 23.09.2013
comment
Это может быть немного ближе к тому, что вам нужно.. .Нет, рисование на экране-заставке — это другой процесс рисования компонента, сосредоточьтесь на том, как рисуется индикатор выполнения, а не на том, как обновляется экран-заставка;) - person MadProgrammer; 23.09.2013
comment
У вас есть скайп, я могу отправить вам класс в чат, и вы можете сказать мне, хорошо ли это? Это работает, но я хорошо разбираюсь в c, c#, html и css. все еще изучаю java, поэтому я не знаю, чиста ли она. - person Ryan; 23.09.2013