Spec-Zone .ru
спецификации, руководства, описания, API
|
Сеть Java Запускается, приложение может вывести на экран специализированный индикатор хода выполнения загрузки, который показывает продвижение загрузки ресурсов приложения.
Рассмотрите Погодное заявление и CustomProgress
class, чтобы понять, как реализовать специализированный индикатор хода выполнения загрузки для Сети Java, Запускает приложение. С целью демонстрации большой и длительной загрузки Запускается эта Сеть Java, файл JAR приложения был расширенным artifically и customprogress-webstart.jnlp
файл определяет дополнительные файлы JAR как ресурсы.
Чтобы разработать специализированный индикатор хода выполнения загрузки для Вашей Сети Java Запускают приложение, создают class, который реализует DownloadServiceListener
интерфейс.
У конструктора загружающегося индикатора хода выполнения class не должно быть никаких параметров.
import javax.jnlp.DownloadServiceListener; import java.awt.Container; import java.applet.AppletStub; import netscape.javascript.*; // ... public class CustomProgress implements DownloadServiceListener { JFrame frame = null; JProgressBar progressBar = null; boolean uiCreated = false; public CustomProgress() { } ... }
Следующий фрагмент кода показывает, как создать UI для загружающегося индикатора хода выполнения:
private void create() { JPanel top = createComponents(); frame = new JFrame(); // top level custom progress // indicator UI frame.getContentPane().add(top, BorderLayout.CENTER); frame.setBounds(300,300,400,300); frame.pack(); updateProgressUI(0); } private JPanel createComponents() { JPanel top = new JPanel(); top.setBackground(Color.WHITE); top.setLayout(new BorderLayout(20, 20)); String lblText = "<html><font color=green size=+2" + ">JDK Documentation</font><br/> " + "The one-stop shop for Java enlightenment! <br/></html>"; JLabel lbl = new JLabel(lblText); top.add(lbl, BorderLayout.NORTH); ... progressBar = new JProgressBar(0, 100); progressBar.setValue(0); progressBar.setStringPainted(true); top.add(progressBar, BorderLayout.SOUTH); return top; }
Создайте и обновите загружающийся индикатор хода выполнения в следующих методах, основанных на overallPercent
параметр. Эти методы регулярно вызываются Сетью Java, Запускают программное обеспечение, чтобы передать продвижение загрузки приложения. Сеть Java Запускается, программное обеспечение будет всегда отправлять сообщение, когда загрузка и проверка допустимости ресурсов будут на 100 % полны.
public void progress(URL url, String version, long readSoFar, long total, int overallPercent) { updateProgressUI(overallPercent); } public void upgradingArchive(java.net.URL url, java.lang.String version, int patchPercent, int overallPercent) { updateProgressUI(overallPercent); } public void validating(java.net.URL url, java.lang.String version, long entry, long total, int overallPercent) { updateProgressUI(overallPercent); } private void updateProgressUI(int overallPercent) { if (overallPercent > 0 && overallPercent < 99) { if (!uiCreated) { uiCreated = true; // create custom progress indicator's // UI only if there is more work to do, // meaning overallPercent > 0 and // < 100 this prevents flashing when // RIA is loaded from cache create(); } progressBar.setValue(overallPercent); SwingUtilities.invokeLater(new Runnable() { public void run() { frame.setVisible(true); } }); } else { // hide frame when overallPercent is // above 99 SwingUtilities.invokeLater(new Runnable() { public void run() { frame.setVisible(false); frame.dispose(); } }); } }
Скомпилируйте загружающийся индикатор хода выполнения class и создайте файл JAR со всеми ресурсами, должен был вывести на экран загружающийся индикатор хода выполнения. Включайте <your JRE directory>/lib/javaws.jar
файл в Вашем classpath
включать компиляции.
Загружающийся индикатор хода выполнения class теперь готов к употреблению. Следующий шаг должен определить этот файл JAR индикатора хода выполнения загрузки, поскольку Ваша Сеть Java Запускает индикатор хода выполнения приложения.
Чтобы определить специализированный индикатор хода выполнения загрузки для Сети Java Запускают приложение, включают следующую информацию в файл приложения JNLP:
jar
тег с download="progress"
атрибутprogress-class
атрибут с полностью определенным именем специализированной загрузки прогрессирует class.Следующий фрагмент кода от
файл выводит на экран использование customprogress-webstart.jnlp
download="progress"
и progress-class
атрибуты.
<jnlp spec="1.0+" codebase= "http://docs.oracle.com/javase/tutorialJWS/deployment/webstart/ex6" href= "webstart_AppWithCustomProgressIndicator/customprogress-webstart.jnlp"> <!-- ... --> <resources> <j2se version="1.6+"/> <jar href= "webstart_AppWithCustomProgressIndicator/webstart_AppWithCustomProgressIndicator.jar" /> <jar href= "webstart_CustomProgressIndicator/webstart_CustomProgressIndicator.jar" download="progress" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/IconDemo.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/SplitPaneDemo.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/SplitPaneDemo2.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/TextBatchPrintingDemo.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/ToolBarDemo.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/ToolBarDemo2.jar" /> <jar href= "webstart_AppWithCustomProgressIndicator/lib/SwingSet2.jar" /> </resources> <application-desc main-class="customprogressindicatordemo.Main" progress-class="customprogressindicator.CustomProgress" /> <!-- ... --> </jnlp>
Развернитесь Сеть Java Запускают приложение в веб-странице. Открытый
в веб-браузере, чтобы просмотреть специализированный индикатор хода выполнения загрузки для Погодного приложения.JavaWebStartAppPage.html
Чтобы просмотреть пример должным образом, Вы должны установить, по крайней мере,
Если Вы просмотрели эту Сеть Java, Запускают приложение прежде, очищают Ваш кэш при использовании Панели управления Java прежде, чем просмотреть приложение снова. Вы не будете в состоянии видеть индикатор хода выполнения для ранее кэшируемого приложения.
Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору JavaScript в своем браузере так, чтобы сценарий Инструментария Развертывания мог функционировать должным образом.
См. Настройку Загружающейся темы Опыта для получения дополнительной информации о настройке богатого Интернет-приложения (RIA) опыт загрузки.