import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class SliderFace {
public static void main
(String[] args
) { public void paintComponent
(Graphics g
) { super.paintComponent(g);
double r = (double)slider.getValue() / slider.getMaximum();
int w = getWidth(), h = getHeight();
int a = w / 10, b = h / 5, c = (int)(b * r);
g.drawLine(a * 2, b * 1 + c, a * 4, b * 2 - c);
g.drawLine(a * 6, b * 2 - c, a * 8, b * 1 + c);
g.drawLine(a * 3, b * 4 - c, a * 5, b * 3 + c);
g.drawLine(a * 5, b * 3 + c, a * 7, b * 4 - c);
}
};
slider.addChangeListener(e -> panel.repaint());
panel.
setPreferredSize(new Dimension(250,
250));
frame.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); frame.pack();
frame.setVisible(true);
}
}
aW1wb3J0IGphdmEuYXd0Lio7CmltcG9ydCBqYXZheC5zd2luZy4qOwppbXBvcnQgamF2YXguc3dpbmcuZXZlbnQuKjsKcHVibGljIGNsYXNzIFNsaWRlckZhY2UgewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCUpTbGlkZXIgc2xpZGVyID0gbmV3IEpTbGlkZXIoKTsKCQlKUGFuZWwgcGFuZWwgPSBuZXcgSlBhbmVsKCkgewoJCQlwdWJsaWMgdm9pZCBwYWludENvbXBvbmVudChHcmFwaGljcyBnKSB7CgkJCQlzdXBlci5wYWludENvbXBvbmVudChnKTsKCQkJCWRvdWJsZSByID0gKGRvdWJsZSlzbGlkZXIuZ2V0VmFsdWUoKSAvIHNsaWRlci5nZXRNYXhpbXVtKCk7CgkJCQlpbnQgdyA9IGdldFdpZHRoKCksIGggPSBnZXRIZWlnaHQoKTsKCQkJCWludCBhID0gdyAvIDEwLCBiID0gaCAvIDUsIGMgPSAoaW50KShiICogcik7CgkJCQlnLmRyYXdMaW5lKGEgKiAyLCBiICogMSArIGMsIGEgKiA0LCBiICogMiAtIGMpOwoJCQkJZy5kcmF3TGluZShhICogNiwgYiAqIDIgLSBjLCBhICogOCwgYiAqIDEgKyBjKTsKCQkJCWcuZHJhd0xpbmUoYSAqIDMsIGIgKiA0IC0gYywgYSAqIDUsIGIgKiAzICsgYyk7CgkJCQlnLmRyYXdMaW5lKGEgKiA1LCBiICogMyArIGMsIGEgKiA3LCBiICogNCAtIGMpOwoJCQl9CgkJfTsKCQlzbGlkZXIuYWRkQ2hhbmdlTGlzdGVuZXIoZSAtPiBwYW5lbC5yZXBhaW50KCkpOwoJCXBhbmVsLnNldFByZWZlcnJlZFNpemUobmV3IERpbWVuc2lvbigyNTAsIDI1MCkpOwoKCQlKRnJhbWUgZnJhbWUgPSBuZXcgSkZyYW1lKCLoqrLpoYwiKTsKCQlmcmFtZS5nZXRDb250ZW50UGFuZSgpLmFkZChzbGlkZXIsIEJvcmRlckxheW91dC5OT1JUSCk7CgkJZnJhbWUuZ2V0Q29udGVudFBhbmUoKS5hZGQocGFuZWwsIEJvcmRlckxheW91dC5DRU5URVIpOwoJCWZyYW1lLnNldERlZmF1bHRDbG9zZU9wZXJhdGlvbihKRnJhbWUuRVhJVF9PTl9DTE9TRSk7CgkJZnJhbWUucGFjaygpOwoJCWZyYW1lLnNldFZpc2libGUodHJ1ZSk7Cgl9Cn0K