2016-04-02 11 views
-2

私は学校用のプロジェクトで作業していますが、親ウィンドウに子ウィンドウを追加する際に問題があります。私がpane.getChildren()に到達したとき以外は、すべてのコードがコンパイルされます。add(Matrix); 。私はメインですべてのコードを持っているときにコンパイルするコードを取得することができますが、私は本当にクラスをメイン呼び出しし、そこにペインを作成して、それを親ペインに追加したいと思います。私はそれを心配しないで、今はかなり見て、ちょうどそれを働かせる方法を見つけたいと思う。誰かが私を正しい方向に向けるのを助けることができたら、私は本当にそれを感謝します。getChildren()を使用する際に問題が発生しました

コンパイラが私に与え

Button1.java:34:エラー:識別子が

pane.getChildrenを()予想(マトリックス)を追加します;。

Button1.java:34:エラー: ';'予想される

pane.getChildren()。add(Matrix);

public class Button1 extends Application { 
public void start(Stage primaryStage) { 


Scene scene = new Scene(pane, 700, 500); 
primaryStage.setTitle("3 pains 1 window "); // Set the stage title 
primaryStage.setScene(scene); // Place the scene in the stage 
primaryStage.show(); // Display the stage 
} 
public static void main(String[] args) { 
Application.launch(args); 
} 
GridPane pane = new GridPane(); 
MatrixPane Matrix = new MatrixPane(); 
pane.getChildren().add(Matrix); 

} 

class MatrixPane extends Pane { 

double HEIGHT = 500; 
double WIDTH = 200; 
private GridPane pane = new GridPane(); 


public MatrixPane() { 
} 

public void fillpane() { 

for (int i = 0; i < 10; i++) { 
     for (int j = 0; j < 10; j++) { 
      TextField text = new TextField(Integer.toString((int)(Math.random() * 2))); 
      text.setMinWidth(WIDTH/8.0); 
      text.setMaxWidth(WIDTH/10.0); 
      text.setMinHeight(HEIGHT/8.0); 
      text.setMaxHeight(HEIGHT/10.0); 
       pane.add(text, j, i); 
     } 
    } 

} 


} 

答えて

2

は、私はそれはあなたがmain` `でそれを置くことはできません開始

public void start(Stage primaryStage) { 
    pane.getChildren().add(Matrix); 
    ... 
-2

次のセクションをメソッド()内に含めることができませんでした。メソッドの内部でする必要が並ぶ

+1

の内側にあるべきことを示唆しています。 'Application.launch'はアプリケーションが終了するまでブロックし、' main'はFXアプリケーションスレッドでは実行されません。 –

+0

さらに、これらの行をメインに追加しても、main以外のどのメソッドでもローカル変数にアクセスすることはできません。フィールドの値は、これらのメソッド呼び出しの影響を受けません。 – fabian

関連する問題