控件 消失站位,消失不站位
package fx.com;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Mian extends Application{
static boolean isManaged=false;
static boolean isVisible=false;
static double opactiyValue=0;
public static void main(String[] args) {
// TODO 自动生成的方法存根
launch(args);
}
public void start(Stage stage) throws Exception {
// TODO 自动生成的方法存根
Button b1=new Button("b1");
Button b2=new Button("b2");
Button b3=new Button("b3");
Button b4=new Button("b4");
Button b5=new Button("b3.setManaged(false)");
Button b6=new Button("b3.setVisible(false)");
Button b7=new Button("b3.setOpacity(0)");
// b3.setManaged(false);
// b3.setVisible(false);
// b3.setOpacity(0);
AnchorPane ap=new AnchorPane();
HBox hbox=new HBox();
hbox.setPadding(new Insets(10));
hbox.setSpacing(10);
hbox.getChildren().addAll(b1,b2,b3,b4);
VBox vbox=new VBox();
ap.setTopAnchor(vbox,100.0);
ap.setLeftAnchor(vbox, 20.0);
vbox.getChildren().addAll(b5,b6,b7);
ap.getChildren().addAll(hbox,vbox);
Scene scene=new Scene(ap);
stage.setScene(scene);
stage.setWidth(800);
stage.setHeight(800);
stage.setTitle("javafx_总结");
stage.show();
b5.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
b3.setManaged(isManaged);
new Print(hbox);
if(isManaged==true){
isManaged=false;
b5.setText("b3.setManaged("+isManaged+")");
}else {
isManaged=true;
b5.setText("b3.setManaged("+isManaged+")");
}
}
});
b6.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
// TODO 自动生成的方法存根
b3.setOpacity(opactiyValue);
new Print(hbox);
if(opactiyValue==0){
opactiyValue=1;
b7.setText("b3.setOpacity("+opactiyValue+")");
}else {
opactiyValue=0;
b7.setText("b3.setOpacity("+opactiyValue+")");
}
}
});
b7.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
// TODO 自动生成的方法存根
b3.setVisible(isVisible);;
new Print(hbox);
if(isVisible==true){
isVisible=false;
b6.setText("b3.isVisible("+isVisible+")");
}else {
isVisible=true;
b5.setText("b3.isVisible("+isVisible+")");
}
}
});
}
}
class Print{
public Print(HBox hBox) {
System.out.println("当前Bbox子组件数量="+hBox.getChildren().size());
}
}