private void stopAnimation() { icon.setRunning(false); animator.stop(); } }
@Override public void paintIcon(Component c, Graphics g, int x, int y) { Graphics2D g2 = (Graphics2D) g.create(); g2.setPaint(Optional.ofNullable(c).map(Component::getBackground).orElse(Color.WHITE)); g2.fillRect(x, y, getIconWidth(), getIconHeight()); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setPaint(ELLIPSE_COLOR); int xx = x + dim.width / 2; int yy = y + dim.height / 2; AffineTransform at = AffineTransform.getRotateInstance(Math.toRadians(rotate), xx, yy); at.concatenate(AffineTransform.getTranslateInstance(xx, yy)); int size = list.size(); for (int i = 0; i < size; i++) { float alpha = running ? (i + 1) / (float) size : .5f; g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); g2.fill(at.createTransformedShape(list.get(i))); } g2.dispose(); }
@Override public void paintIcon(Component c, Graphics g, int x, int y) { Graphics2D g2 = (Graphics2D) g.create(); // g2.setPaint(Objects.nonNull(c) ? c.getBackground() : Color.WHITE); g2.setPaint(Optional.ofNullable(c).map(Component::getBackground).orElse(Color.WHITE)); g2.fillRect(x, y, getIconWidth(), getIconHeight()); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setPaint(ELLIPSE_COLOR); g2.translate(x, y); float size = (float) list.size(); list.forEach(s -> { float alpha = running ? (list.indexOf(s) + 1) / size : .5f; g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); g2.fill(s); }); // int size = list.size(); // for (int i = 0; i < size; i++) { // float alpha = running ? (i + 1) / (float) size : .5f; // g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); // g2.fill(list.get(i)); // } g2.dispose(); }
public void startAnimation() { icon.setRunning(true); animator.start(); }
public void stopAnimation() { icon.setRunning(false); animator.stop(); } }
private void startAnimation() { icon.setRunning(true); animator.start(); }