如何在位置顶部设置TextField?

时间:2014-09-06 07:17:47

标签: java javafx

HiEveryone,

我是JavaFx中的新用户,TextField显示在框架的中间但不在顶部的位置。我认为哪里错了?请帮忙..

查看此屏幕截图..

enter image description here

但我想将TextField设置在顶部..

这是源代码:

package sample;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.GridPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javafx.scene.control.TextField;

public class Main extends Application {
    @Override
    public void start (Stage primaryStage){
        primaryStage.setTitle("Modern web browser.");
        WebView wv = new WebView();
        WebEngine we = wv.getEngine();
        we.load("http://www.google.com/");

        TextField tf = new TextField("http://www.google.com/");
        tf.setMaxHeight(Double.MIN_VALUE);
        GridPane sp = new GridPane();
        sp.getChildren().add(wv);
        sp.getChildren().add(tf);

        Scene scene = new Scene(sp, 600, 500);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

请帮助..感谢高级!

EDITED

@Nagesh Kumar使用VBox收到此错误后回复了我:

enter image description here

1 个答案:

答案 0 :(得分:1)

从GridPane将布局更改为VBox,如下所示

VBox vbox = new VBox();

现在首先添加TextField,使其位于顶部,如下所示

vbox.getChildren().add(tf);

然后是WebView,如下所示

vbox.getChildren().add(wv);

编辑: 是的,你可以尝试这个

VBox vbox = new VBox(5);

VBox中的控件之间有5个像素空间