@Override
public void start(Stage primaryStage) throws Exception {
Group gp = new Group();
// チュートリアルにあるコード
final Rectangle rect1 = new Rectangle(10, 10, 100, 100);
rect1.setArcHeight(20);
rect1.setArcWidth(20);
rect1.setFill(Color.RED);
FadeTransition ft = new FadeTransition(Duration.millis(3000), rect1);
ft.setFromValue(1.0);
ft.setToValue(0.1);
ft.setCycleCount(Timeline.INDEFINITE);
ft.setAutoReverse(true);
ft.play();
// シーンをステージに登録
gp.getChildren().addAll(rect1);
Scene scene = new Scene(gp, 450, 450);
primaryStage.setScene(scene);
primaryStage.setTitle("Animation Basic1");
primaryStage.show();
}
class Cam extends Group {
Translate t = new Translate();
Translate p = new Translate();
Translate ip = new Translate();
Rotate rx = new Rotate();
{ rx.setAxis(Rotate.X_AXIS); }
Rotate ry = new Rotate();
{ ry.setAxis(Rotate.Y_AXIS); }
Rotate rz = new Rotate();
{ rz.setAxis(Rotate.Z_AXIS); }
Scale s = new Scale();
public Cam() { super(); getTransforms().addAll(t, p, rx, rz, ry, s, ip); }
}
public class Lv3_RadioButton extends Application {
/**
* このメソッドは、Applicationクラス(JavaFXのフレームワーク部品)
* のメソッドをオーバーライドする。
* {@link Application#launch(String...)}から呼び出される。
*/
@Override
public void start(Stage primaryStage) throws Exception {
// チュートリアルには省略されている部分
Group group = new Group();
// この部分がチュートリアルに記載されている。
//A radio button with an empty string for its label
RadioButton rb1 = new RadioButton();
//Setting a text label
rb1.setText("Home");
//A radio button with the specified label
RadioButton rb2 = new RadioButton("Calendar");
// 上のコンポーネント(Labelとか、イメージとか)
group.getChildren().addAll(rb1, rb2);
// チュートリアルでは省略されている
Scene scene = new Scene(group, 300, 300);
primaryStage.setScene(scene);
primaryStage.setTitle("チュートリアル1");
primaryStage.show();
}
/**
* メインメソッド。
* Apllicationクラスのlaunchメソッドを呼び出す。
*
* @param args プログラム引数
*/
public static void main(String[] args) {
launch(args);
}
}
今回は、ちょっとダメなコードを基本にしていきます。なんでダメなのかは実行結果を見れば一目瞭然。。。
コンポーネントが重なってしまい、意味がわかりません。
ここで、start()メソッドの初めの部分で「Group group = new Group();」というコードがありますが、この部品をGroupからVBoxへ変更します。
public void start(Stage primaryStage) throws Exception {
// チュートリアルには省略されている部分
VBox group = new VBox(20b);
// この部分がチュートリアルに記載されている。
//A radio button with an empty string for its label
RadioButton rb1 = new RadioButton();
//Setting a text label
rb1.setText("Home");
rb1.setSelected(true);
group.getChildren().add(rb1);
//A radio button with the specified label
RadioButton rb2 = new RadioButton("Calendar");
rb2.setToggleGroup(togle);
group.getChildren().add(rb2);
RadioButton rb = new RadioButton("Agree");
group.getChildren().add(rb);
// 上のコンポーネント(Labelとか、イメージとか)
group.getChildren().addAll(rb1, rb2, rb);
// チュートリアルでは省略されている
Scene scene = new Scene(group, 300, 300);
primaryStage.setScene(scene);
primaryStage.setTitle("チュートリアル3");
primaryStage.show();
}