<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FGWT%2FProgress_Bar</id>
		<title>Java/GWT/Progress Bar - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FGWT%2FProgress_Bar"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/GWT/Progress_Bar&amp;action=history"/>
		<updated>2026-04-19T04:46:41Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/GWT/Progress_Bar&amp;diff=7039&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/GWT/Progress_Bar&amp;diff=7039&amp;oldid=prev"/>
				<updated>2010-06-01T06:35:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:35, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/GWT/Progress_Bar&amp;diff=7038&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/GWT/Progress_Bar&amp;diff=7038&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== GWT progress bar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2006 Robert Hanson &amp;lt;iamroberthanson AT gmail.ru&amp;gt;&lt;br /&gt;
 * &lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 * &lt;br /&gt;
 *    http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 * &lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
package com.jexp.gwt.client;&lt;br /&gt;
import com.google.gwt.user.client.*;&lt;br /&gt;
import com.google.gwt.user.client.ui.*;&lt;br /&gt;
import com.google.gwt.core.client.*;&lt;br /&gt;
public class GWTClient implements EntryPoint{&lt;br /&gt;
  public void onModuleLoad() {&lt;br /&gt;
  final ProgressBar progressBar = new ProgressBar(20&lt;br /&gt;
             ,ProgressBar.SHOW_TIME_REMAINING&lt;br /&gt;
              +ProgressBar.SHOW_TEXT);&lt;br /&gt;
  progressBar.setText(&amp;quot;Doing something...&amp;quot;);&lt;br /&gt;
  RootPanel.get().add(progressBar);&lt;br /&gt;
  Timer t = new Timer() {&lt;br /&gt;
    public void run() {&lt;br /&gt;
      int progress = progressBar.getProgress()+4;&lt;br /&gt;
      if (progress&amp;gt;100) cancel();&lt;br /&gt;
      progressBar.setProgress(progress);&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  t.scheduleRepeating(1000);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/**&lt;br /&gt;
 * &amp;lt;P&amp;gt;A simple progress bar that uses table elements to show progress&lt;br /&gt;
 * and with a basic time remaining calculation built in.&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;P&amp;gt;You can optionally display some text above the progress bar&lt;br /&gt;
 * and/or display time remaining underneath the progress bar. To&lt;br /&gt;
 * control the display of those features, set the options in the&lt;br /&gt;
 * constructor as shown in the following usage example:&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;PRE&amp;gt;&lt;br /&gt;
 *  final ProgressBar progressBar = new ProgressBar(20&lt;br /&gt;
 *             ,ProgressBar.SHOW_TIME_REMAINING&lt;br /&gt;
 *              +ProgressBar.SHOW_TEXT);&lt;br /&gt;
 *  progressBar.setText(&amp;quot;Doing something...&amp;quot;);&lt;br /&gt;
 *  RootPanel.get().add(progressBar);&lt;br /&gt;
 *  Timer t = new Timer() {&lt;br /&gt;
 *    public void run() {&lt;br /&gt;
 *      int progress = progressBar.getProgress()+4;&lt;br /&gt;
 *      if (progress&amp;gt;100) cancel();&lt;br /&gt;
 *      progressBar.setProgress(progress);&lt;br /&gt;
 *    }&lt;br /&gt;
 *  };&lt;br /&gt;
 *  t.scheduleRepeating(1000);&lt;br /&gt;
 * &amp;lt;/PRE&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;P&amp;gt;How the time remaining is displayed can be controlled by setting the &lt;br /&gt;
 * relevant messages using the language of your choice.&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;P&amp;gt;The default setting for the messages are as follows:&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;PRE&amp;gt;&lt;br /&gt;
 *    setSecondsMessage(&amp;quot;Time remaining: {0} Seconds&amp;quot;);&lt;br /&gt;
 *    setMinutesMessage(&amp;quot;Time remaining: {0} Minutes&amp;quot;);&lt;br /&gt;
 *    setHoursMessage(&amp;quot;Time remaining: {0} Hours&amp;quot;);&lt;br /&gt;
 * &amp;lt;/PRE&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;P&amp;gt;To reset the time remaining/set the start time, simply set the &lt;br /&gt;
 * progress to zero.&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;P&amp;gt;Some basic CSS styling is available to control the text, border around the&lt;br /&gt;
 * progress bar itself and the colour of the progress bar elements.&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;PRE&amp;gt;&lt;br /&gt;
 * .progressbar-text {&lt;br /&gt;
 *     font-weight: bold;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-remaining {&lt;br /&gt;
 *     font-size: 12px;&lt;br /&gt;
 *     font-style: italic;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-outer {&lt;br /&gt;
 *     border: 1px solid black;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-inner {&lt;br /&gt;
 *     border: 1px solid black;&lt;br /&gt;
 *     margin: 1px;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-bar {&lt;br /&gt;
 *     width: 5px;&lt;br /&gt;
 *     height: 15px;&lt;br /&gt;
 *     margin: 1px;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-fullbar {&lt;br /&gt;
 *     background: blue;&lt;br /&gt;
 * }&lt;br /&gt;
 * &lt;br /&gt;
 * .progressbar-blankbar {&lt;br /&gt;
 *     background: #eee;&lt;br /&gt;
 * }&lt;br /&gt;
 *&amp;lt;/PRE&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;P&amp;gt;You can take advantage of the default style by adding the&lt;br /&gt;
 * following to the head of your HTML page. &lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;P&amp;gt;&amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;style/gwl-progressBar.css&amp;quot;&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;P&amp;gt;This style sheet also has two additional styles which you can use&lt;br /&gt;
 * by adding the stye name to the widget.  You can use either one of&lt;br /&gt;
 * these, or use both combined.&lt;br /&gt;
 * &lt;br /&gt;
 * &amp;lt;PRE&amp;gt;&lt;br /&gt;
 *  ProgressBar progressBar = new ProgressBar(20);&lt;br /&gt;
 *  progressBar.addStyleName(&amp;quot;progressbar-solid&amp;quot;);&lt;br /&gt;
 *  progressBar.addStyleName(&amp;quot;progressbar-noborder&amp;quot;);&lt;br /&gt;
 * &amp;lt;/PRE&amp;gt;&lt;br /&gt;
 * &lt;br /&gt;
 * @author Bjarne Matzen - Bjarne[dot]Matzen[at]gmail[dot]com&lt;br /&gt;
 */&lt;br /&gt;
class ProgressBar extends VerticalPanel {&lt;br /&gt;
  /**&lt;br /&gt;
   * Option to show text label above progress bar&lt;br /&gt;
   */&lt;br /&gt;
  public static final int SHOW_TEXT = 2;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Option to show time remaining&lt;br /&gt;
   */&lt;br /&gt;
  public static final int SHOW_TIME_REMAINING = 1;&lt;br /&gt;
  /**&lt;br /&gt;
   * The time the progress bar was started&lt;br /&gt;
   */&lt;br /&gt;
  private long startTime = System.currentTimeMillis();&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * The number of bar elements to show&lt;br /&gt;
   */&lt;br /&gt;
  private int elements = 20;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Time element text&lt;br /&gt;
   */&lt;br /&gt;
  private String secondsMessage = &amp;quot;Time remaining: {0} Seconds&amp;quot;;&lt;br /&gt;
  private String minutesMessage = &amp;quot;Time remaining: {0} Minutes&amp;quot;;&lt;br /&gt;
  private String hoursMessage = &amp;quot;Time remaining: {0} Hours&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Current progress (as a percentage)&lt;br /&gt;
   */&lt;br /&gt;
  private int progress = 0;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * This is the frame around the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  private FlexTable barFrame = new FlexTable();&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * This is the grid used to show the elements&lt;br /&gt;
   */&lt;br /&gt;
  private Grid elementGrid;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * This is the current text label below the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  private Label remainLabel = new Label();&lt;br /&gt;
  /**&lt;br /&gt;
   * This is the current text label above the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  private Label textLabel = new Label();&lt;br /&gt;
  &lt;br /&gt;
  /** &lt;br /&gt;
   * internal flags for options&lt;br /&gt;
   */&lt;br /&gt;
  private boolean showRemaining = false;&lt;br /&gt;
  private boolean showText = false;&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Base constructor for this widget&lt;br /&gt;
   * &lt;br /&gt;
   * @param elements The number of elements (bars) to show on the progress bar&lt;br /&gt;
   * @param options The display options for the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  public ProgressBar (int elements, int options)&lt;br /&gt;
    {&lt;br /&gt;
        // Read the options and set convenience variables&lt;br /&gt;
        if ((options &amp;amp; SHOW_TIME_REMAINING) == SHOW_TIME_REMAINING) showRemaining = true;&lt;br /&gt;
        if ((options &amp;amp; SHOW_TEXT) == SHOW_TEXT) showText = true;&lt;br /&gt;
    &lt;br /&gt;
    // Set element count&lt;br /&gt;
    this.elements = elements;&lt;br /&gt;
    &lt;br /&gt;
    // Styling&lt;br /&gt;
    remainLabel.setStyleName(&amp;quot;progressbar-remaining&amp;quot;);&lt;br /&gt;
    textLabel.setStyleName(&amp;quot;progressbar-text&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    // Initialize the progress elements&lt;br /&gt;
    elementGrid = new Grid(1, elements);&lt;br /&gt;
        elementGrid.setStyleName(&amp;quot;progressbar-inner&amp;quot;);&lt;br /&gt;
        elementGrid.setCellPadding(0);&lt;br /&gt;
        elementGrid.setCellSpacing(0);&lt;br /&gt;
        &lt;br /&gt;
        for (int loop = 0; loop &amp;lt; elements; loop++) {&lt;br /&gt;
            Grid elm = new Grid(1, 1);&lt;br /&gt;
            //elm.setHTML(0, 0, &amp;quot;&amp;amp;nbsp;&amp;quot;);&lt;br /&gt;
            elm.setHTML(0, 0, &amp;quot;&amp;quot;);&lt;br /&gt;
            elm.setStyleName(&amp;quot;progressbar-blankbar&amp;quot;);&lt;br /&gt;
            elm.addStyleName(&amp;quot;progressbar-bar&amp;quot;);&lt;br /&gt;
            elementGrid.setWidget(0, loop, elm);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Create the container around the elements&lt;br /&gt;
    Grid containerGrid = new Grid(1,1);&lt;br /&gt;
        containerGrid.setCellPadding(0);&lt;br /&gt;
        containerGrid.setCellSpacing(0);&lt;br /&gt;
    containerGrid.setWidget(0, 0, elementGrid);&lt;br /&gt;
    containerGrid.setStyleName(&amp;quot;progressbar-outer&amp;quot;);&lt;br /&gt;
      //containerGrid.setBorderWidth(1);&lt;br /&gt;
      &lt;br /&gt;
      // Set up the surrounding flex table based on the options&lt;br /&gt;
      int row = 0;&lt;br /&gt;
        if (showText) barFrame.setWidget(row++, 0, textLabel);&lt;br /&gt;
        barFrame.setWidget(row++, 0, containerGrid);&lt;br /&gt;
        if (showRemaining) barFrame.setWidget(row++, 0, remainLabel);&lt;br /&gt;
    barFrame.setWidth(&amp;quot;100%&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    // Add the frame to the panel&lt;br /&gt;
    this.add(barFrame);&lt;br /&gt;
    &lt;br /&gt;
    // Initialize progress bar&lt;br /&gt;
    setProgress(0);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Constructor without options&lt;br /&gt;
   * &lt;br /&gt;
   * @param elements The number of elements (bars) to show on the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  public ProgressBar (int elements)&lt;br /&gt;
    {&lt;br /&gt;
        this(elements, 0);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  /**&lt;br /&gt;
   * Set the current progress as a percentage&lt;br /&gt;
   * &lt;br /&gt;
   * @param percentage Set current percentage for the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  public void setProgress (int percentage)&lt;br /&gt;
    {&lt;br /&gt;
    // Make sure we are error-tolerant&lt;br /&gt;
    if (percentage &amp;gt; 100) percentage = 100;&lt;br /&gt;
        if (percentage &amp;lt; 0) percentage = 0;&lt;br /&gt;
    &lt;br /&gt;
    // Set the internal variable&lt;br /&gt;
    progress = percentage;&lt;br /&gt;
    &lt;br /&gt;
    // Update the elements in the progress grid to&lt;br /&gt;
        // reflect the status&lt;br /&gt;
        int completed = elements * percentage / 100;&lt;br /&gt;
        for (int loop = 0; loop &amp;lt; elements; loop++) {&lt;br /&gt;
            Grid elm = (Grid) elementGrid.getWidget(0, loop);&lt;br /&gt;
            if (loop &amp;lt; completed) {&lt;br /&gt;
                elm.setStyleName(&amp;quot;progressbar-fullbar&amp;quot;);&lt;br /&gt;
                elm.addStyleName(&amp;quot;progressbar-bar&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
                elm.setStyleName(&amp;quot;progressbar-blankbar&amp;quot;);&lt;br /&gt;
                elm.addStyleName(&amp;quot;progressbar-bar&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
    if (percentage &amp;gt; 0) {&lt;br /&gt;
            // Calculate the new time remaining&lt;br /&gt;
            long soFar = (System.currentTimeMillis() - startTime) / 1000;&lt;br /&gt;
            long remaining = soFar * (100 - percentage) / percentage;&lt;br /&gt;
            // Select the best UOM&lt;br /&gt;
            String remainText = secondsMessage;&lt;br /&gt;
            if (remaining &amp;gt; 120) {&lt;br /&gt;
                remaining = remaining / 60;&lt;br /&gt;
                remainText = minutesMessage;&lt;br /&gt;
                if (remaining &amp;gt; 120) {&lt;br /&gt;
                    remaining = remaining / 60;&lt;br /&gt;
                    remainText = hoursMessage;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            // Locate the position to insert out time remaining&lt;br /&gt;
            int pos = remainText.indexOf(&amp;quot;{0}&amp;quot;);&lt;br /&gt;
            if (pos &amp;gt;= 0) {&lt;br /&gt;
                String trail = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (pos + 3 &amp;lt; remainText.length()) trail = remainText.substring(pos + 3);&lt;br /&gt;
                remainText = remainText.substring(0, pos) + remaining + trail;&lt;br /&gt;
            }&lt;br /&gt;
            // Set the label&lt;br /&gt;
            remainLabel.setText(remainText);&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            // If progress is 0, reset the start time&lt;br /&gt;
            startTime = System.currentTimeMillis();&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the current progress as a percentage&lt;br /&gt;
   * &lt;br /&gt;
   * @return Current percentage for the progress bar&lt;br /&gt;
   */&lt;br /&gt;
  public int getProgress ()&lt;br /&gt;
    {&lt;br /&gt;
        return (progress);&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the text displayed above the progress bar&lt;br /&gt;
   * &lt;br /&gt;
   * @return the text&lt;br /&gt;
   */&lt;br /&gt;
  public String getText ()&lt;br /&gt;
    {&lt;br /&gt;
        return this.textLabel.getText();&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Set the text displayed above the progress bar&lt;br /&gt;
   * &lt;br /&gt;
   * @param text the text to set&lt;br /&gt;
   */&lt;br /&gt;
  public void setText (String text)&lt;br /&gt;
    {&lt;br /&gt;
        this.textLabel.setText(text);&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the message used to format the time remaining text&lt;br /&gt;
   * for hours&lt;br /&gt;
   * &lt;br /&gt;
   * @return the hours message&lt;br /&gt;
   */&lt;br /&gt;
  public String getHoursMessage ()&lt;br /&gt;
    {&lt;br /&gt;
        return hoursMessage;&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Set the message used to format the time remaining text&lt;br /&gt;
   * below the progress bar. There are 3 messages used for&lt;br /&gt;
   * hours, minutes and seconds respectively.&lt;br /&gt;
   * &lt;br /&gt;
   * The message must contain a placeholder for the value. The&lt;br /&gt;
   * placeholder must be {0}. For example, the following is&lt;br /&gt;
   * a valid message:&lt;br /&gt;
   * &lt;br /&gt;
   *     &amp;quot;Hours remaining: {0}&amp;quot;&lt;br /&gt;
   * &lt;br /&gt;
   * @param hoursMessage the hours message to set&lt;br /&gt;
   */&lt;br /&gt;
  public void setHoursMessage (String hoursMessage)&lt;br /&gt;
    {&lt;br /&gt;
        this.hoursMessage = hoursMessage;&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the message used to format the time remaining text&lt;br /&gt;
   * for minutes&lt;br /&gt;
   * &lt;br /&gt;
   * @return the minutesMessage&lt;br /&gt;
   */&lt;br /&gt;
  public String getMinutesMessage ()&lt;br /&gt;
    {&lt;br /&gt;
        return minutesMessage;&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Set the message used to format the time remaining text&lt;br /&gt;
   * below the progress bar. There are 3 messages used for&lt;br /&gt;
   * hours, minutes and seconds respectively.&lt;br /&gt;
   * &lt;br /&gt;
   * The message must contain a placeholder for the value. The&lt;br /&gt;
   * placeholder must be {0}. For example, the following is&lt;br /&gt;
   * a valid message:&lt;br /&gt;
   * &lt;br /&gt;
   *     &amp;quot;Minutes remaining: {0}&amp;quot;&lt;br /&gt;
   * &lt;br /&gt;
   * @param minutesMessage the minutes message to set&lt;br /&gt;
   */&lt;br /&gt;
  public void setMinutesMessage (String minutesMessage)&lt;br /&gt;
    {&lt;br /&gt;
        this.minutesMessage = minutesMessage;&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the message used to format the time remaining text&lt;br /&gt;
   * for seconds&lt;br /&gt;
   * &lt;br /&gt;
   * @return the secondsMessage&lt;br /&gt;
   */&lt;br /&gt;
  public String getSecondsMessage ()&lt;br /&gt;
    {&lt;br /&gt;
        return secondsMessage;&lt;br /&gt;
    }&lt;br /&gt;
  /**&lt;br /&gt;
   * Set the message used to format the time remaining text&lt;br /&gt;
   * below the progress bar. There are 3 messages used for&lt;br /&gt;
   * hours, minutes and seconds respectively.&lt;br /&gt;
   * &lt;br /&gt;
   * The message must contain a placeholder for the value. The&lt;br /&gt;
   * placeholder must be {0}. For example, the following is&lt;br /&gt;
   * a valid message:&lt;br /&gt;
   * &lt;br /&gt;
   *     &amp;quot;Seconds remaining: {0}&amp;quot;&lt;br /&gt;
   * &lt;br /&gt;
   * @param secondsMessage the secondsMessage to set&lt;br /&gt;
   */&lt;br /&gt;
  public void setSecondsMessage (String secondsMessage)&lt;br /&gt;
    {&lt;br /&gt;
        this.secondsMessage = secondsMessage;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>