2014-10-31 2 views
0

У меня есть редактор HTML в контейнере Панели 355 пикселей по ширине. Редактор вырезается с правой стороны, где ширина перекрывает содержащую панель. Как установить ширину редактора HTML меньшей ширины, чем размер родительского контейнера?Как установить редактор JavaFx HTML на меньшую ширину

Обратите внимание, что я на JavaFx SceneBuilder 2 и перетаскивание ширины на нечто меньшее, чем у родительского контейнера, просто не работает.

ответ

2

В то время как на Scene Builder 2.0 редактор HTML не может быть изменен, это просто влияет на предварительный просмотр (ну, может быть, он запустил некоторые другие элементы управления, ...). Если это действительно проблема, вместо добавления в нее HTML-редактора просто поместите контейнер с надлежащим fx:id, а позже на контроллере добавьте редактор в качестве дочернего элемента этого контейнера.

Предполагая, что у вас есть редактор, добавленный на ваш FXML, а ширина вашей сцены 355 пикселей, как вы говорите, первый предварительный просмотр приложения будет вырезать панели инструментов, и кнопка переполнения не будет, пока вы не измените размер окна. Только тогда панели инструментов будут изменены и появятся переполнения.

Чтобы устранить эти проблемы и позволить изменять размер редактора сразу после запуска приложения без изменения размера вручную, обходным путем является поиск панелей инструментов редактора и их изменение.

@FXML private HTMLEditor htmlEditor; 

@Override 
public void initialize(URL url, ResourceBundle rb) { 
    Platform.runLater(()->{ 
     htmlEditor.lookupAll("ToolBar") 
        .forEach(node->((ToolBar)node).setPrefWidth(355)); 
    }); 
} 

Scene 355x300 px

Обратите внимание на значение ширины жестко, для простоты.

+0

Большое вам спасибо @ José Pereda. –

Смежные вопросы