所以我现在正在努力学习Java,因为我知道JavaScript和PHP。我正在使用JavaFX在Netbeans中工作,我正在尝试创建一个创建5个按钮的程序。 (这是在创建新的JavaFX应用程序时修改Netbeans附带的代码。)如果我将场景的y参数更改为小于所有按钮的y,它将不会显示剩余的按钮,它将不能向下滚动。这就是我到目前为止所拥有的。如何启用它向下滚动以便可以看到所有按钮?我知道我可以将场景改回原来的高度,但我想学习使用JavaFX滚动。
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import javax.swing.JScrollPane;
public class JavaFXApplication1 extends Application {
@Override
public void start(Stage primaryStage) {
GridPane root = new GridPane();
Button[] btn=new Button[5];
for(int i=0;i<5;i++){
btn[i] = new Button();
btn[i].setText(i+"");
GridPane.setRowIndex(btn[i],i);
root.getChildren().addAll(btn[i]);
btn[i].setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("This is a button");
}
});
}
Scene scene = new Scene(root, 300, 50);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
答案 0 :(得分:3)
使用ScrollPane将root设置为:
ScrollPane sp = new ScrollPane();
sp.setContent(root);
Scene scene = new Scene(sp, 300, 50);