
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class PaddingTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Pane pane = new Pane();
Pane pane1 = new Pane();
pane1.setPrefWidth(300);
pane1.setPrefHeight(300);
pane1.setBackground(new Background(new BackgroundFill(Color.BLUE, new CornerRadii(0), new Insets(0))));
double padding = 10;
// 只操作pane的内边距padding,padding会在集中在pane1的右侧和下侧
// 只操作边框border和padding有相同的问题,必须结合layout
// pane.setBorder(new Border(new BorderStroke(Color.TRANSPARENT, BorderStrokeStyle.SOLID, new CornerRadii(0), new BorderWidths(10))));
pane.setPadding(new Insets(padding / 2));
pane1.setLayoutX(padding);
pane1.setLayoutY(padding);
pane.getChildren().add(pane1);
primaryStage.setScene(new Scene(pane));
primaryStage.show();
}
}

package za;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class StackPanePadding extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Pane pane = new Pane();
pane.setPrefSize(100, 100);
pane.setBackground(new Background(new BackgroundFill(Color.rgb(12,40,60), new CornerRadii(0), new Insets(0))));
StackPane stackPane = new StackPane();
stackPane.getChildren().add(pane);
stackPane.setPadding(new Insets(20));
primaryStage.setScene(new Scene(stackPane));
primaryStage.show();
}
}
版权声明:本文为haoranhaoshi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。