********************** BetterCircleTest.java ********************** import java.awt.*; import java.applet.Applet; /** Position circles down the diagonal so that their borders * just touch. Illustrates that Java 1.1 lightweight * components can be partially transparent. * */ public class BetterCircleTest extends Applet { public void init() { setBackground(Color.lightGray); setLayout(null); BetterCircle circle; int radius = getSize().width/6; int deltaX = round(2.0 * (double)radius / Math.sqrt(2.0)); for (int x=radius; x<6*radius; x=x+deltaX) { circle = new BetterCircle(Color.black, radius); add(circle); circle.setCenter(x, x); } } private int round(double num) { return((int)Math.round(num)); } } ******************************** BetterCircle.java ******************************** import java.awt.*; /** An improved variation of the Circle class that uses Java 1.1 * lightweight components instead of Canvas. * */ public class BetterCircle extends Component { private Dimension preferredDimension; private int width, height; public BetterCircle(Color foreground, int radius) { setForeground(foreground); width = 2*radius; height = 2*radius; preferredDimension = new Dimension(width, height); setSize(preferredDimension); } public void paint(Graphics g) { g.setColor(getForeground()); g.fillOval(0, 0, width, height); } public void setCenter(int x, int y) { setLocation(x - width/2, y - height/2); } /** Report the original size as the preferred size. * That way, the BetterCircle doesn't get * shrunk by layout managers. */ public Dimension getPreferredSize() { return(preferredDimension); } /** Report same thing for minimum size as * preferred size. */ public Dimension getMinimumSize() { return(preferredDimension); } } *******************************
Note: Brought from our old site: http://www.salearningschool.com/example_codes/ on Jan 2nd, 2017 From: http://sitestree.com/?p=10322
Categories:Programming Code Examples, Java/J2EE/J2ME, Advanced Swing
Tags:Java/J2EE/J2MEAdvanced Swing
Post Data:2017-01-02 16:04:31
Shop Online: https://www.ShopForSoul.com/
(Big Data, Cloud, Security, Machine Learning): Courses: http://Training.SitesTree.com
In Bengali: http://Bangla.SaLearningSchool.com
http://SitesTree.com
8112223 Canada Inc./JustEtc: http://JustEtc.net (Software/Web/Mobile/Big-Data/Machine Learning)
Shop Online: https://www.ShopForSoul.com/
Medium: https://medium.com/@SayedAhmedCanada