**********************
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
