Я использую Linux Suse 12.3, JDK 1.7.0-45, JavaFX 2.2.JavaFX Заполнить пустое пространство, когда компонент не отображается?
мой вопрос: почему следующий код не работает и как реализовать функцию toggleShow/hide?
вот мой тест Код:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.web.HTMLEditor;
import javafx.stage.Stage;
public class Test extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(final Stage stage) {
AnchorPane root = new AnchorPane();
BorderPane inner = new BorderPane();
AnchorPane.setTopAnchor(inner, 0.0);
AnchorPane.setRightAnchor(inner, 0.0);
AnchorPane.setBottomAnchor(inner, 0.0);
AnchorPane.setLeftAnchor(inner, 0.0);
final HTMLEditor center = new HTMLEditor();
final ToolBar top = new ToolBar();
final Button button = new Button("hide");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
top.setVisible(false);
//center.setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE);
}
});
center.setManaged(false);
top.getItems().add(button);
//top.managedProperty().bind(top.visibleProperty());
top.setManaged(false);
inner.setTop(top);
inner.setCenter(center);
root.getChildren().add(inner);
Scene scene = new Scene(root,600,400);
stage.setScene(scene);
stage.show();
}
}
то, что я хочу, это тот же эффект, что и решение Сергея к этому вопросу, но без изменения ширины/высоты !:
How to solve the overlapping of the controls each other belonging to two different panes
, как я сказал, что это всего лишь тестовый код. Я попытался использовать другие макеты как BorderPane, но все еще не работал. я не хочу пересчитывать размер вручную ... и т. д. Удаление узла и добавление его снова не является для меня вариантом.
Что не так в моем коде? любая идея приветствуется! благодаря
Что не работает? Что будет означать работа? Что он должен делать и как именно это отличается от того, что он делает? – jewelsea
@jewelsea: Заголовок моего сообщения: JavaFX Заполнить пустое пространство, когда компонент не виден? другими словами, если верхний компонент не отображается, центральный компонент должен иметь полный размер. –
@jewelsea: почему голосование вниз, если вы не читали титул? –