「JavaFX&Java8プログラミング Javaによる新しいGUIプログラミング入門」の書籍でJavaFXを勉強している者ですが、P42に「ボタンに画像も表示したい場合は、子ノードとしてImageオブジェクトを作成し、ボタンのコンストラクタの第2引数に作成したイメージノードを指定します。」と書かれているんですが、この「コンストラクタの第2引数」ってどういう意味でしょうか?
わかりやすく教えてください。お願いします。
Java
1package buttons; 2 3import java.nio.file.Paths; 4 5import javafx.application.Application; 6import javafx.application.Platform; 7import javafx.event.ActionEvent; 8import javafx.event.EventHandler; 9import javafx.geometry.Pos; 10import javafx.scene.Scene; 11import javafx.scene.canvas.Canvas; 12import javafx.scene.canvas.GraphicsContext; 13import javafx.scene.control.Button; 14import javafx.scene.image.Image; 15import javafx.scene.layout.HBox; 16import javafx.stage.Stage; 17 18 19public class Buttons extends Application { 20 21 @Override 22 public void start(Stage stage) { 23 24 stage.setTitle("Butoons"); 25 stage.setWidth(260); 26 stage.setHeight(120); 27 28 //ビープボタンを作成する 29 Button botan = new Button("Beep"); 30 botan.setOnAction(event -> java.awt.Toolkit.getDefaultToolkit().beep()); 31 32 //終了ボタンを作成する 33 Button btexit = new Button("終了"); 34 btexit.setOnAction(new EventHandler<ActionEvent>() { 35 @Override 36 public void handle(ActionEvent t) { 37 Platform.exit(); 38 } 39 }); 40 41 /* 42 * ボタンに画像も表示したい場合は、子ノードとしてImageオブジェクトを作成し 43 * ボタンのコンストラクタの第2引数に作成したイメージノードを指定します。 44 */ 45 46 //イメージ付き「閉じる」ボタン 47 Image image = new Image(Paths.get("image/close.gif").toUri().toString()); 48 Canvas canvas = new Canvas(); 49 canvas.setWidth(image.getWidth()); 50 canvas.setHeight(image.getHeight()); 51 52 GraphicsContext gc = canvas.getGraphicsContext2D(); 53 gc.drawImage(image, 0, 0); 54 Button btnclose = new Button("閉じる",canvas); 55 btnclose.setPrefWidth(100); 56 btnclose.setOnAction(event ->stage.close()); 57 58 59 //水平に配置 60 HBox root = new HBox(); 61 root.setAlignment(Pos.CENTER); 62 root.setSpacing(10); 63 root.getChildren().addAll(botan,btexit,btnclose); 64 65 stage.setScene(new Scene(root)); 66 stage.show(); 67 68 } 69 70 public static void main(String[] args) { 71 launch(args); 72 } 73 74} 75
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。