protected boolean setDir(JTextField txf, String strValue) {
    String strTxt = txf.getText();
    String strName = txf.getName();
    boolean bSet = false;

    if ((strTxt == null || strTxt.trim().length() == 0 || strTxt.equals(INFOSTR))
        && strName.equalsIgnoreCase("value")) {
      if (timer != null) {
        timer.cancel();
        txf.setForeground(Color.black);
      }

      bSet = true;
      txf.setText(strValue);
      txf.grabFocus();
    }
    return bSet;
  }
Esempio n. 2
0
  /**
   * The Memory Monitor sets up a 5 second Timer which displays the amount of remaining memory
   * (compared to the total memory we have).
   */
  private void setupMemoryMonitor() {
    memoryTimer = new java.util.Timer("Memory monitor", true);

    memoryTimer.schedule(
        new TimerTask() {
          @Override
          public void run() {
            // We need to set this off in the Event Thread.
            SwingUtilities.invokeLater(
                new Runnable() {
                  @Override
                  public void run() {
                    // Calculate the memory we have.
                    long value =
                        (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())
                            / (1024 * 1024);
                    long max = Runtime.getRuntime().maxMemory() / (1024 * 1024);
                    int percentage = (int) (((double) value) / max * 100);

                    // Set the progress bar.
                    progressBar.setMinimum(0);
                    progressBar.setMaximum(100);
                    progressBar.setValue(percentage);

                    progressBar.setString(
                        value + " MB out of " + max + " MB (" + percentage + "%)");
                  }
                });
          }
        },
        new Date(),
        5000); // Every five seconds.
  }