これは比較的簡単な問題ですが、それは私を狂ってしまいます。私はJavaFXでMine Sweeperを作成しようとしています(ほとんどの場合は練習用ですが)、単純な四角形を表示することさえできません。以前は一度だけゲームを実行していましたが、ゲームをより抽象的にするためにコードを書くのが簡単ですが、何も表示されないという問題が発生しています。オブジェクトがJavaFXで表示されないのはなぜですか?
不要なコードをすべて削除しましたので、できるだけシンプルです。私は基本的に、Boxと呼ばれる特定の色とサイズの矩形を作成し、ペインにボックスを追加し、ペインを表示しようとしています。 Boxをペインに表示できるノードにするために、BoxクラスがRectangleと同じプロパティを持つように、Boxクラスextends Rectangleを作成しました。しかし、私はコードを実行すると、それはボックスがない空の枠だけを与えます。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class Minesweeper extends Application {
@Override
public void start(Stage stage) {
Pane pane = new Pane();
Box box = new Box();
pane.getChildren().addAll(box);
// Create the scene
Scene scene = new Scene(pane);
stage.setTitle("Minesweeper");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
public class Box extends Rectangle {
public Box() {
Rectangle box = new Rectangle(100, 100, 100, 100);
box.setFill(Color.BLUE);
}
}
BoxのコードをメインのMinesweeperクラスに入れると、ボックスが表示されます。しかし、ボックスは、他のプロパティのトンを持っているので、独自のクラスにする必要があります。
私は間違っていて、ボックスを表示することはできません。
ご協力いただきありがとうございます。
:にあなたのコードを変更し 。オーバーライドする必要がある 'paint'メソッドがありますか? – Zymus