WebBrowser: Создание нового Tab с контентом - Java
Формулировка задачи:
Доброго времени суток!
В ходе самообучения JavaFX, работаю над написанием WebBrowser.
Основная функция браузера (отображение веб-страниц) реализирована. Теперь пытаюсь "прикручивать" фичи.
Возникла проблема с созданием нового Tab в TabPane, а именно с тем, что каждый новый Tab должен содержать в себе строку для ввода адреса сайта и кнопки, как это реализовано на стартовом Tab, то есть:
Новый Tab создается следующим методом:
но, как видно с тела метода, Tab будет пустым.
Вопрос: подскажите, пожалуйста, оптимальный алгоритм действий, для реализации выше сказаного, тоесть, чтобы каждый созданный Tab содержал по дефолту контент, аналогичный к стартовому Tab-у (как в fxlm-коде выше).
Спасибо за ответ!
<TabPane fx:id="tabPane" layoutY="38.0" prefHeight="361.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="38.0"> <tabs> <Tab fx:id="tab" text="Untitled Tab 1"> <content> <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="156.0" prefWidth="299.0"> <children> <ToolBar fx:id="toolBar" prefHeight="54.0" prefWidth="800.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"> <items> <Button mnemonicParsing="false" onAction="#goToPreviousPage" text="в‡ђ" /> <TextField fx:id="addressBar" onAction="#onEnter" prefHeight="38.0" prefWidth="592.0" /> <Button mnemonicParsing="false" onAction="#go" text="Go" /> <Button mnemonicParsing="false" onAction="#refreshPage" text="в™»" /> </items> </ToolBar> <WebView fx:id="web" layoutY="54.0" prefHeight="462.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="56.0" /> </children> </AnchorPane> </content> </tabs> </TabPane>
public void newTab() { final Tab tab1 = new Tab("Tab " + (tabPane.getTabs().size() + 1)); tab1.setClosable(true); tabPane.getTabs().add(tab1); tabPane.getSelectionModel().select(tab1); }
Решение задачи: «WebBrowser: Создание нового Tab с контентом»
textual
Листинг программы
Tab tab = new Tab(); TextField field = new TextField(); field.setPromtText("адрес"); tab.setGraphic(field); tabOne.setText(null);//для того, чтобы убрать стандартный label вкладки
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д