0

JavaFxで電卓を作りたいです。電卓ボタンとテキストフィールドの位置を設定するために GridPane を使用しています。私の質問は: TextField を 4 列のスペースに設定するにはどうすればよいですか?

次の例では:

  TextField userTextField = new TextField();
    grid.add(userTextField, 0, 0,3,3);

グリッドの座標 0,0,3,3 とはどういう意味ですか? それは何の略ですか?どんな助けでも大歓迎です、どうもありがとう。

次のjavafxプログラムでは、電卓サンプルのTextFieldとボタンのみを設定したい:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

    public class calculadora_css extends Application{

     @Override
        public void start(Stage primaryStage) {
               primaryStage.setTitle("JavaFX Welcome");
               GridPane grid = new GridPane();
               grid.setAlignment(Pos.TOP_CENTER);
               grid.setHgap(20);
               grid.setVgap(20);
               grid.setPadding(new Insets(10, 10, 10, 10));

               TextField userTextField = new TextField();

               grid.add(userTextField, 0, 0,3,1);

               Button btn1 = new Button("7");
               grid.add(btn1, 0,1);
               Button btn2 = new Button("8");
               grid.add(btn2, 1,1);
               Button btn3 = new Button("9");
               grid.add(btn3, 2,1);
               Button btn3_3 = new Button("+");
               grid.add(btn3_3, 3,1);
                Button btn4 = new Button("4");
               grid.add(btn4, 0,2);
               Button btn5 = new Button("5");
               grid.add(btn5, 1,2);
               Button btn6 = new Button("6");
               grid.add(btn6, 2,2);
               Button btn6_6 = new Button("*");
               grid.add(btn6_6, 3,2);
                Button btn7 = new Button("1");
               grid.add(btn7, 0,3);
               Button btn8 = new Button("2");
               grid.add(btn8, 1,3);
               Button btn9 = new Button("3");
               grid.add(btn9, 2,3);
                Button btn9_9 = new Button("-");
               grid.add(btn9_9, 3,3);
                Button btn10 = new Button("0");
               grid.add(btn10, 0,4);
               Button btn11 = new Button(".");
               grid.add(btn11, 1,4);
               Button btn12 = new Button("=");
               grid.add(btn12, 2,4);
               Button btn12_12 = new Button("/");
               grid.add(btn12_12, 3,4);

            Scene scene = new Scene(grid, 300, 275);
            primaryStage.setScene(scene);

            scene.getStylesheets().add
           (calculadora_css.class.getResource("calculadora_css.css").toExternalForm());
            primaryStage.setResizable(false);
            primaryStage.show();

    }

     public static void main(String[] args) {
            launch(args);
        }

    }

TextField の下にボタンを設定したいのですが、最終的にコンパイルされたプログラムでは、+、*、-、/ ボタンが右に押されています。上記の解説に従ってボタンを配置しようとしました。どうもありがとうございました。

4

1 に答える 1

0

と 以外の追加のパラメーターは、それぞれ とcolumnIndexです。rowIndexcolumnspanrowspan

ColumnSpan を使用すると、GridPane に子として追加されたコントロールに複数の列を使用できます。同様に、RowSpan を使用すると、複数の行を使用できます。

を使用しsetColumnSpan(Node child,Integer value)て colspan を設定することも、 を使用しadd(Node child, int columnIndex, int rowIndex, int colspan, int rowspan)て子を追加するときに columnspan を定義することもできます。

それで、あなたの質問に来て、

grid.add(userTextField, 0, 0,3,3);

userTextFieldにコントロールを追加することを表します:

  • gridPane の columnIndex 0
  • gridPane の rowIndex 0
  • colSpan 3 は、列インデックス 0 から始まる 3 つの列を使用します
  • 行インデックス 0 から始まる 3 行を使用するための rowSpan 3
于 2015-09-15T07:27:47.577 に答える