- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 fxml 添加一个新选项卡。
我已经在 tabPane 中添加了标签。
int numTabs = tabPane.getTabs().size();
Tab tab = new Tab("Tab " + (numTabs + 1));
tabPane.getTabs().add(tab);
但是我不能用它加载 FXML
tabPane.getTabs().addAll((Tab)FXMLLoader.load(this.getClass().getResource("tab.fxml")));`
错误:javafx.fxml.LoadException:
tab.fxml:
<TabPane fx:id="tabPane" layoutX="14.0" layoutY="105.0"
prefHeight="200.0" prefWidth="292.0" tabClosingPolicy="UNAVAILABLE">
<tabs>
<Tab text="Untitled Tab">
<content>
<AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<Button layoutX="118.0" layoutY="74.0" mnemonicParsing="false" text="Button" />
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</TabPane>
编辑:我试过删除 <TabPane>
标记但没有用。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<tabs>
<Tab text="Untitled Tab">
<content>
<AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<Button layoutX="118.0" layoutY="74.0" mnemonicParsing="false" text="Button" />
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
FXML 主文档:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="319.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="testpane2.FXMLDocumentController">
<children>
<Button fx:id="button" layoutX="126.0" layoutY="14.0" onAction="#handleButtonAction" text="Click Me!" />
<Label fx:id="label" layoutX="126.0" layoutY="44.0" minHeight="16.0" minWidth="69.0" />
<TabPane fx:id="tabPane" layoutX="14.0" layoutY="105.0" prefHeight="200.0" prefWidth="292.0" tabClosingPolicy="UNAVAILABLE" />
</children>
</AnchorPane>
堆栈跟踪:
set 20, 2016 8:49:37 PM testpane2.FXMLDocumentController handleButtonAction
SEVERE: null
javafx.fxml.LoadException:
file:/C:/Users/djodr/Documents/NetBeansProjects/testPane2/dist/run1904708287/testPane2.jar!/testpane2/tab.fxml
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2543)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at testpane2.FXMLDocumentController.handleButtonAction(FXMLDocumentController.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8411)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:380)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:294)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:416)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:415)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[9,129]
Message: http://www.w3.org/TR/1999/REC-xml-names-19990114#AttributePrefixUnbound?TabPane&fx:id&fx
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:88)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2513)
... 66 more
最佳答案
尝试一下:
<Tab text="Untitled Tab">
<content>
<AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<Button layoutX="118.0" layoutY="74.0" mnemonicParsing="false" text="Button" />
</children>
</AnchorPane>
</content>
</Tab>
关于java - 将选项卡添加到 TabPane JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39602879/
我遇到了一个非常奇怪的问题,即 TabPane 的选项卡按钮位于左侧。该问题仅在应用程序运行时出现,但在 SceneBuilder (2.0) 预览中不存在。 每次选定的 Tab 更改(通过用户单击或
我有一个带有可变复选框列表的阶段。当列表更改时,舞台必须调整大小。这在大多数情况下都可以正常工作,在将所有复选框添加到 VBox 之后,您然后调用 stage.sizeToScene() 并且舞台相应
如果您在没有足够空间显示所有选项卡时尝试对选项卡进行排序,JavaFX TabPane 会出现非常奇怪的行为。 更准确地说,应该显示包含所有选项卡的下拉列表的选项卡选择按钮(选项卡 Pane 标题右侧
使用 JavaFX 2.2 我有一个窗口,它主要由一个带有 4 个选项卡的 TabPane 组成。用户可能会更改任何选项卡中显示的数据,如果他们这样做,我想确保他们在保存/取消/更新数据之前不会离开该
下面是我的带有 TabPane 的 GridPane 代码。 TabPane 中有 2 个选项卡。 当我在 SceneBuilder 上单击预览时,选项卡不会在单击选项卡头时切换。
我有一个包含一些内容的 Tab:ScrollBar 和其他内容。 ScrollBar 具有键的事件处理程序:left 和 right。 但是如果我按下这些按钮,Tabs 就会切换,因为 TabPane
我需要在 Ctrl-Tab 和 Ctrl-Shift-Tab 上切换标签。但它仅在 TabPane 处于焦点上 时才有效。我有带有 setContent(textArea) 的选项卡。当 textAr
我注意到,在 TabPane 中添加和删除选项卡时,它无法匹配基础列表中选项卡顺序的位置。仅当至少一个选项卡因父项的宽度而完全隐藏时才会发生这种情况。下面是一些复制问题的代码: public clas
当我在选项卡 Pane 中添加一行时,该行的内容似乎具有跨选项卡 Pane 边缘边界的负边距。 如何在选项卡 Pane 中添加行(和列)? 下面是我的 HTML: Profil/Virksomhed
我正在尝试使用 fxml 添加一个新选项卡。 我已经在 tabPane 中添加了标签。 int numTabs = tabPane.getTabs().size(); Tab tab = new Ta
我在 ScrollPane 内的 Tabpane 内有一个 BorderPane。如果我删除 TabPane 并将 BorderPane 作为 ScrollPane 的内容,ScrollPane.Sc
我想要一个包含多个选项卡的 TabPane,每个选项卡都有不同的上下文菜单。 在 TabPane 上设置 ContextMenu 显然会导致使用相同的 ContextMenu,无论选择哪个选项卡。我尝
我有一个 javafx 应用程序,可以在滚动 Pane 中显示内容。此内容包括一个 TabPane。在选项卡内,有一个 VBox,其中包含可以根据用户交互更改高度的小部件,特别是: 显示更多行的表格
在我的 JavaFX 应用程序中,我有一个 TabPane在 TitledPane 。 TabPane内是 VBox其中包括一个按钮,可增加 VBox 中的元素数量(因此, VBox 的高度)。 但是
我的 TabPane 似乎只水平填充它的宽度,而不是垂直填充。我现在的解决方法是这样做: stage.getScene().heightProperty().addListener(new C
在我的 GUI 中,我尝试显示一个包含其他元素的 TabPane。 当调用特定场景的初始化方法时,我可以将所需的数据添加到第一个Tab中。 如何访问第二个并在那里添加数据?` 当您在单个选项卡之间切换
我有一个网络工具,用户可以在其中动态创建和删除多个选项卡式对象(可能很多),我正在使用 Google Closure TabPane 并且一切正常,除了事实是每次创建 TabPane 实例都会添加以下
JavaFX 8 中是否有一种方法可以将按钮放入 TabPane 中,如下面的模型所示?如果可能的话,我只想使用 FXML 文件。 最佳答案 看完“Add Buttons to Tabs and Ta
我在 JavaFX TabPane 中发现了一个小错误,正在寻找解决方法。我正在运行 JavaFX 13.0.1。 它是如何发生的: TabPane 的 DragPolicy 必须设置为 TabPan
你好,我如何在JavaFX中添加一个窗口,当我将它作为选项卡拖到选项卡上并再次双击以再次将其释放为窗口时? 例如 Firefox 或 Chrome 中的选项卡。双击以获取一个新窗口,然后将其拖到上方以
我是一名优秀的程序员,十分优秀!