59 lines
1.8 KiB
Java
59 lines
1.8 KiB
Java
|
|
import javafx.application.Application;
|
|
import javafx.scene.Scene;
|
|
import javafx.scene.layout.Pane;
|
|
import javafx.scene.paint.Color;
|
|
import javafx.scene.shape.Ellipse;
|
|
import javafx.stage.Stage;
|
|
|
|
/*
|
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* @author caleb
|
|
*/
|
|
public class ShowElipse1 extends Application {
|
|
|
|
@Override
|
|
public void start(Stage primaryStage) throws Exception {
|
|
// Create a scene and place it in the stage
|
|
Scene scene = new Scene(new My32Ellipses(), 800, 600);
|
|
primaryStage.setTitle("Show 32 Ellipses");
|
|
primaryStage.setScene(scene);
|
|
primaryStage.show();
|
|
}
|
|
public static void main(String[] args) {
|
|
launch(args);
|
|
}
|
|
}
|
|
class My32Ellipses extends Pane {
|
|
private void paint32Ellipses() {
|
|
getChildren().clear();
|
|
// draw 32 rotated ellipses on top of each other
|
|
for (int i = 0; i < 32; ++i) {
|
|
// Create an ellipse and add it to the pane
|
|
Ellipse e1 = new Ellipse(
|
|
getWidth() / 2, getHeight() / 2,
|
|
getWidth() / 2 - 120, getHeight() / 2 - 120);
|
|
e1.setStroke(Color.color(Math.random(),
|
|
Math.random(),
|
|
Math.random()
|
|
)
|
|
);
|
|
e1.setFill(Color.WHITE);
|
|
e1.setRotate(i * 180 / 32);
|
|
getChildren().add(e1);
|
|
}
|
|
}
|
|
@Override public void setWidth(double width) {
|
|
super.setWidth(width);
|
|
paint32Ellipses();
|
|
}
|
|
@Override public void setHeight(double height) {
|
|
super.setHeight(height);
|
|
paint32Ellipses();
|
|
}
|
|
} |