private void saveAndSetPropertyValues() {
    fontOnOpening = digitalClock.canvasFont();
    fontColorOnOpening = digitalClock.canvasFontColor();
    backgroundColorOnOpening = digitalClock.canvasBackgroungColor();

    fontCombo.setSelectedItem(fontOnOpening.getFontName());
    fontSizeCombo.setSelectedItem(fontOnOpening.getSize());
    fontColorCombo.setSelectedItem(fontColorOnOpening);
    backgroundColorCombo.setSelectedItem(backgroundColorOnOpening);
  }
    private void refreshTimeDisplay(int mins, int seconds, int tenths) {
      double handAngle = ((360 / 60) * seconds);
      mainDial.setAngle(handAngle);

      double tenthsHandAngle = ((360 / 100.0) * tenths);
      tenthsDial.setAngle(tenthsHandAngle);

      double minutesHandAngle = ((360 / 60.0) * mins);
      minutesDial.setAngle(minutesHandAngle);

      String timeString =
          twoPlaces.format(mins) + ":" + twoPlaces.format(seconds) + "." + twoPlaces.format(tenths);
      digitalClock.refreshDigits(timeString);
    }
    private void myLayout() {
      mainDial.setLayoutX(140);
      mainDial.setLayoutY(140);

      minutesDial.setLayoutX(100);
      minutesDial.setLayoutY(100);

      tenthsDial.setLayoutX(180);
      tenthsDial.setLayoutY(100);

      digitalClock.setLayoutX(79);
      digitalClock.setLayoutY(195);

      startButton.setLayoutX(223);
      startButton.setLayoutY(1);
      Rotate rotateRight = new Rotate(360 / 12);
      startButton.getTransforms().add(rotateRight);

      stopButton.setLayoutX(59.5);
      stopButton.setLayoutY(0);
      Rotate rotateLeft = new Rotate(-360 / 12);
      stopButton.getTransforms().add(rotateLeft);
    }
Example #4
0
  // Invoked by timer when interval ends
  @Override
  public void actionPerformed(ActionEvent event) {
    Font font = panel.getFont();
    // Create a new attributed string with the new time
    Date current = new Date();
    Calendar cal = panel.getCalendar();
    cal.setTime(current);

    long blink = ((System.currentTimeMillis() - startTime) / (BLINK_INTERVAL)) % 2;

    // To format current time using specific pattern.
    SimpleDateFormat df;

    // ////////////////////////////////////
    // Draw standard digital-type clock //
    // ////////////////////////////////////

    // Hour24 mode
    df =
        new SimpleDateFormat(
            "HH" + panel.getPadding1() + "mm" + panel.getPadding1() + "ss", panel.getLocale());

    String str = df.format(current);

    String temp = "";
    int tmpLen1 = 0;

    df.applyPattern("SSS");
    temp = " " + panel.getPadding2() + df.format(current).substring(0, 3);

    tmpLen1 = temp.length();

    str += temp;
    temp = "";

    // //////////////
    // Draw AM/PM //
    // //////////////
    int tmpLen2 = 0;

    // mode
    df.applyPattern("a");
    temp = " " + df.format(current);
    tmpLen2 = temp.length();

    str += temp;
    temp = "";

    // timezone
    df.applyPattern("Z");
    StringBuffer sb = new StringBuffer("GMT");
    sb.append(df.format(current));
    sb.insert(6, ":");
    df.applyPattern("zzzz");
    temp = " " + df.format(current) + " (" + df.getTimeZone().getID() + ", " + sb + ")";

    String str2 = temp;
    temp = "";

    // //////////////////////////
    // Format the time string //
    // //////////////////////////
    timeString = null;
    timeString = new AttributedString(str);
    // Render main time area
    timeString.addAttribute(TextAttribute.FONT, font, 0, 6 + 2 * panel.getPadding1().length());
    timeString.addAttribute(TextAttribute.FOREGROUND, panel.getForeground());
    // Do blinking if reach alarm point
    timeString.addAttribute(
        TextAttribute.FOREGROUND, panel.getForeground(), 0, 6 + 2 * panel.getPadding1().length());
    // Render padding1, do blinking
    timeString.addAttribute(
        TextAttribute.FOREGROUND,
        blink == 0 ? panel.getForeground() : panel.getBackground(),
        2,
        2 + panel.getPadding1().length());
    timeString.addAttribute(
        TextAttribute.FOREGROUND,
        blink == 0 ? panel.getForeground() : panel.getBackground(),
        2 + panel.getPadding1().length() + 2,
        4 + 2 * panel.getPadding1().length());

    // Render stopwatch
    timeString.addAttribute(
        TextAttribute.FONT,
        new Font(
            font.getName(),
            font.getStyle(),
            font.getSize() - SHRINK > 1 ? font.getSize() - SHRINK : 1),
        6 + 2 * panel.getPadding1().length(),
        6 + 2 * panel.getPadding1().length() + tmpLen1);

    // Render am/pm area
    timeString.addAttribute(
        TextAttribute.FONT,
        new Font(
            font.getName(),
            font.getStyle(),
            font.getSize() - SHRINK - 4 > 1 ? font.getSize() - SHRINK - 4 : 1),
        str.length() - tmpLen2,
        str.length());

    // Create a new text layout and signal the panel that it needs
    // repainting
    textLayout = null;
    textLayout = new TextLayout(timeString.getIterator(), Clock.frc);

    // Render timezone, drawing at another line.
    timezoneString = null;
    timezoneString = new AttributedString(str2);
    timezoneString.addAttribute(
        TextAttribute.FONT,
        new Font(
            font.getName(),
            font.getStyle(),
            font.getSize() - SHRINK - 4 > 1 ? font.getSize() - SHRINK - 4 : 1));
    timezoneString.addAttribute(TextAttribute.FOREGROUND, panel.getForeground());
    textTimezoneLayout = null;
    textTimezoneLayout = new TextLayout(timezoneString.getIterator(), Clock.frc);

    // To keep the clock size fit for
    // actual size in time.
    panel.setSize(getPreferredSize(panel));
    panel.repaint();
    current = null;
    df = null;
  }
Example #5
0
  public void actionPerformed(ActionEvent ae) {
    butPress++;
    String s;

    if (totPress == 0) DigitalClock.main(null);

    if (butPress == 1) {
      but = (JButton) ae.getSource();

      if (ae.getSource() == butnPlayAgn) {
        dispose();
        DigitalClock.flag = true;
        UserLogin.main(null);
        UserLogin.txtName.setText(name);
      } else if (ae.getSource() == butnQuit) dispose();

      if (ae.getSource() == butI[0]) butI[0].setIcon(icon[i[0]]);
      else if (ae.getSource() == butI[1]) butI[1].setIcon(icon[i[1]]);
      else if (ae.getSource() == butI[2]) butI[2].setIcon(icon[i[2]]);
      else if (ae.getSource() == butI[3]) butI[3].setIcon(icon[i[3]]);
      else if (ae.getSource() == butI[4]) butI[4].setIcon(icon[i[4]]);
      else if (ae.getSource() == butI[5]) butI[5].setIcon(icon[i[5]]);
      else if (ae.getSource() == butI[6]) butI[6].setIcon(icon[i[6]]);
      else if (ae.getSource() == butI[7]) butI[7].setIcon(icon[i[7]]);
      else if (ae.getSource() == butI[8]) butI[8].setIcon(icon[i[8]]);
      else if (ae.getSource() == butI[9]) butI[9].setIcon(icon[i[9]]);
      else if (ae.getSource() == butI[10]) butI[10].setIcon(icon[i[10]]);
      else if (ae.getSource() == butI[11]) butI[11].setIcon(icon[i[11]]);
      else if (ae.getSource() == butI[12]) butI[12].setIcon(icon[i[12]]);
      else if (ae.getSource() == butI[13]) butI[13].setIcon(icon[i[13]]);
      else if (ae.getSource() == butI[14]) butI[14].setIcon(icon[i[14]]);
      else if (ae.getSource() == butI[15]) butI[15].setIcon(icon[i[15]]);
      else if (ae.getSource() == butI[16]) butI[16].setIcon(icon[i[16]]);
      else if (ae.getSource() == butI[17]) butI[17].setIcon(icon[i[17]]);
      else if (ae.getSource() == butI[18]) butI[18].setIcon(icon[i[18]]);
      else butI[19].setIcon(icon[i[19]]);

      totPress++;
      s = totPress + " ";
      s = s.trim();
      lblTotPressVal.setText(s);

    } else if (butPress == 2) {
      butn = (JButton) ae.getSource();

      if (but != butn) {
        if (ae.getSource() == butI[0]) butI[0].setIcon(icon[i[0]]);
        else if (ae.getSource() == butI[1]) butI[1].setIcon(icon[i[1]]);
        else if (ae.getSource() == butI[2]) butI[2].setIcon(icon[i[2]]);
        else if (ae.getSource() == butI[3]) butI[3].setIcon(icon[i[3]]);
        else if (ae.getSource() == butI[4]) butI[4].setIcon(icon[i[4]]);
        else if (ae.getSource() == butI[5]) butI[5].setIcon(icon[i[5]]);
        else if (ae.getSource() == butI[6]) butI[6].setIcon(icon[i[6]]);
        else if (ae.getSource() == butI[7]) butI[7].setIcon(icon[i[7]]);
        else if (ae.getSource() == butI[8]) butI[8].setIcon(icon[i[8]]);
        else if (ae.getSource() == butI[9]) butI[9].setIcon(icon[i[9]]);
        else if (ae.getSource() == butI[10]) butI[10].setIcon(icon[i[10]]);
        else if (ae.getSource() == butI[11]) butI[11].setIcon(icon[i[11]]);
        else if (ae.getSource() == butI[12]) butI[12].setIcon(icon[i[12]]);
        else if (ae.getSource() == butI[13]) butI[13].setIcon(icon[i[13]]);
        else if (ae.getSource() == butI[14]) butI[14].setIcon(icon[i[14]]);
        else if (ae.getSource() == butI[15]) butI[15].setIcon(icon[i[15]]);
        else if (ae.getSource() == butI[16]) butI[16].setIcon(icon[i[16]]);
        else if (ae.getSource() == butI[17]) butI[17].setIcon(icon[i[17]]);
        else if (ae.getSource() == butI[18]) butI[18].setIcon(icon[i[18]]);
        else butI[19].setIcon(icon[i[19]]);

        butPress = 0;
        totPress++;
        s = totPress + " ";
        s = s.trim();
        lblTotPressVal.setText(s);

        Thread thrd = new Thread(this);
        thrd.start();
      } else butPress -= 1;
    }
  }