[英]Button for changing size
我正在处理此代码,即带有最小化按钮的JavaFX面板。 然后,我想按按钮缩小面板的大小,然后按按钮恢复原始大小。
public class MainApp extends Application
{
private static BorderPane bp;
@Override
public void start(Stage stage) throws Exception
{
FlowPane flow = new FlowPane();
flow.setPadding(new Insets(50, 5, 5, 5));
flow.setVgap(15);
flow.setHgap(15);
flow.setAlignment(Pos.CENTER);
Button button = new Button("Minimize");
HBox thb = new HBox();
thb.getChildren().add(button);
thb.setAlignment(Pos.CENTER_RIGHT);
boolean flag = true;
button.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent t)
{
if (flag == true)
{
flag = false;
bp.setPrefSize(600, 40);
bp.setMaxSize(600, 40);
}
else
{
bp.setPrefSize(600, 500);
bp.setMaxSize(600, 500);
}
}
});
thb.setPadding(new Insets(13, 13, 13, 13));
thb.setStyle("-fx-background-color: gray");
DropShadow ds = new DropShadow();
ds.setOffsetY(3.0);
ds.setOffsetX(3.0);
ds.setColor(Color.GRAY);
bp = new BorderPane();
bp.setEffect(ds);
bp.setPrefSize(600, 500);
bp.setMaxSize(600, 500);
bp.setStyle("-fx-background-color: white;");
bp.setTop(thb);
flow.getChildren().add(bp);
Scene scene = new Scene(flow, 1200, 800);
scene.getStylesheets().add("/styles/Styles.css");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args)
{
launch(args);
}
}
由于某种原因,我使用了布尔标志位,代码逻辑不正确。 您能帮我解决这个问题吗?
在其他部分使用flag
值true
if (flag == true)
{
flag = false;
bp.setPrefSize(600, 40);
bp.setMaxSize(600, 40);
}
else
{
flag = true;
bp.setPrefSize(600, 500);
bp.setMaxSize(600, 500);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.