From 2af864e0e3aab72dab201a513d9797c2bd8594e6 Mon Sep 17 00:00:00 2001 From: Robert Vokac Date: Sat, 9 Mar 2024 17:57:20 +0000 Subject: [PATCH] Added some improvements --- .../timecalc/swing/common/SwingUtils.java | 40 ------------------ .../utils/timecalc/swing/common/Widget.java | 40 +++++++++++++++++- .../timecalc/swing/progress/Battery.java | 4 +- .../swing/progress/WalkingHumanProgress.java | 41 +------------------ 4 files changed, 42 insertions(+), 83 deletions(-) diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/SwingUtils.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/SwingUtils.java index 9ea0780..2a70aa0 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/SwingUtils.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/SwingUtils.java @@ -1,12 +1,7 @@ package org.nanoboot.utils.timecalc.swing.common; -import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; -import java.awt.Graphics; -import java.awt.Graphics2D; - -import static org.nanoboot.utils.timecalc.swing.common.Widget.CLOSE_BUTTON_SIDE; /** * @author Robert Vokac @@ -25,41 +20,6 @@ public class SwingUtils { //Not meant to be instantiated. } - public static void paintCloseIcon(Graphics brush, int width, - boolean mouseOver, boolean mouseOverCloseButton) { - - if(!mouseOver) { - //nothing to do - return; - } - if(!mouseOverCloseButton) { - //nothing to do - return; - } - - brush.setColor(SwingUtils.CLOSE_BUTTON_BACKGROUND_COLOR); - -// if(!mouseOverCloseButton) { -// brush.drawRect(width - CLOSE_BUTTON_SIDE - 1, 0 + 1, CLOSE_BUTTON_SIDE, -// CLOSE_BUTTON_SIDE); -// brush.drawRect(width - CLOSE_BUTTON_SIDE - 1+1, 0 + 1 +1, CLOSE_BUTTON_SIDE - 2, -// CLOSE_BUTTON_SIDE - 2); -// return; -// } - - brush.fillOval(width - CLOSE_BUTTON_SIDE - 1, 0 + 1, CLOSE_BUTTON_SIDE, - CLOSE_BUTTON_SIDE); - brush.setColor(Color.LIGHT_GRAY); - Graphics2D brush2d = (Graphics2D) brush; - brush2d.setStroke(new BasicStroke(2f)); - brush.drawLine(width - CLOSE_BUTTON_SIDE - 1 + 2, 0 + 1 + 2, - width - 0 * CLOSE_BUTTON_SIDE - 1 - 2, - 0 + CLOSE_BUTTON_SIDE + 1 - 2); - brush.drawLine(width - CLOSE_BUTTON_SIDE - 1 + 2, - 0 + CLOSE_BUTTON_SIDE + 1 - 2, - width - 0 * CLOSE_BUTTON_SIDE - 1 - 2, 0 + 1 + 2); - } - public static final Color getColorFromString(String s) { if (s.isEmpty()) { System.out.println("error: empty string for color"); diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java index 6917ad4..7d11c4a 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/Widget.java @@ -1,5 +1,6 @@ package org.nanoboot.utils.timecalc.swing.common; +import java.awt.BasicStroke; import org.nanoboot.utils.timecalc.app.GetProperty; import org.nanoboot.utils.timecalc.app.TimeCalcProperty; import org.nanoboot.utils.timecalc.entity.Visibility; @@ -52,7 +53,7 @@ public class Widget extends JPanel implements protected int side = 0; protected double donePercent = 0; protected boolean mouseOver = false; - protected boolean mouseOverCloseButton = false; + private boolean mouseOverCloseButton = false; protected JLabel smileyIcon; public Widget() { @@ -165,9 +166,44 @@ public class Widget extends JPanel implements visibility != Visibility.NONE && visibleProperty.isEnabled()); paintWidget(brush); - SwingUtils.paintCloseIcon(brush, getWidth(), mouseOver, mouseOverCloseButton); + paintCloseIcon(brush, getWidth(), mouseOver, mouseOverCloseButton); } + + private static void paintCloseIcon(Graphics brush, int width, + boolean mouseOver, boolean mouseOverCloseButton) { + + if(!mouseOver) { + //nothing to do + return; + } + if(!mouseOverCloseButton) { + //nothing to do + return; + } + + brush.setColor(SwingUtils.CLOSE_BUTTON_BACKGROUND_COLOR); + +// if(!mouseOverCloseButton) { +// brush.drawRect(width - CLOSE_BUTTON_SIDE - 1, 0 + 1, CLOSE_BUTTON_SIDE, +// CLOSE_BUTTON_SIDE); +// brush.drawRect(width - CLOSE_BUTTON_SIDE - 1+1, 0 + 1 +1, CLOSE_BUTTON_SIDE - 2, +// CLOSE_BUTTON_SIDE - 2); +// return; +// } + + brush.fillOval(width - CLOSE_BUTTON_SIDE - 1, 0 + 1, CLOSE_BUTTON_SIDE, + CLOSE_BUTTON_SIDE); + brush.setColor(Color.LIGHT_GRAY); + Graphics2D brush2d = (Graphics2D) brush; + brush2d.setStroke(new BasicStroke(2f)); + brush.drawLine(width - CLOSE_BUTTON_SIDE - 1 + 2, 0 + 1 + 2, + width - 0 * CLOSE_BUTTON_SIDE - 1 - 2, + 0 + CLOSE_BUTTON_SIDE + 1 - 2); + brush.drawLine(width - CLOSE_BUTTON_SIDE - 1 + 2, + 0 + CLOSE_BUTTON_SIDE + 1 - 2, + width - 0 * CLOSE_BUTTON_SIDE - 1 - 2, 0 + 1 + 2); + } protected void paintWidget(Graphics g) { } diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/Battery.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/Battery.java index 06c8aa7..78a5f89 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/Battery.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/Battery.java @@ -244,8 +244,6 @@ public class Battery extends Widget { brush.setFont(currentFont); } - - if (percentProgressVisibleProperty.isEnabled()) { brush.drawString( NumberFormats.FORMATTER_THREE_DECIMAL_PLACES @@ -327,10 +325,12 @@ public class Battery extends Widget { this.label = label; } + @Override public void setBounds(int x, int y, int height) { setBounds(x, y, (int) (40d / 100d * ((double) height)), height); } + @Override public int getTimerDelay() { return 25; } diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/WalkingHumanProgress.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/WalkingHumanProgress.java index 3ab9e94..99c2b93 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/WalkingHumanProgress.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/progress/WalkingHumanProgress.java @@ -36,54 +36,17 @@ public class WalkingHumanProgress extends Widget implements public WalkingHumanProgress() { setFont(new Font(Font.MONOSPACED, Font.PLAIN, 11)); - putClientProperty("mouseEntered", "false"); + setFocusable(false); setForeground(Color.GRAY); setBackground(MainWindow.BACKGROUND_COLOR); - addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - if (visibilitySupportedColoredProperty.isDisabled()) { - //nothing to do - return; - } - Visibility visibility - = Visibility.valueOf(visibilityProperty.getValue()); - if (visibility.isStronglyColored()) { - visibilityProperty - .setValue(Visibility.WEAKLY_COLORED.name()); - } else { - visibilityProperty - .setValue(Visibility.STRONGLY_COLORED.name()); - } - } - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - - } - - @Override - public void mouseEntered(MouseEvent e) { - putClientProperty("mouseEntered", "true"); - } - - @Override - public void mouseExited(MouseEvent e) { - putClientProperty("mouseEntered", "false"); - } - }); new Timer(100, e -> { Visibility visibility = Visibility.valueOf(visibilityProperty.getValue()); setForeground( visibility.isStronglyColored() - || getClientProperty("mouseEntered").equals("true") + || mouseOver ? Color.BLACK : Color.LIGHT_GRAY); }).start();