2016-06-01 8 views
1

Unten ist mein Code für GridPane mit TabPane.JavaFX8 Registerkarte Tab nicht wechseln

In einem TabPane befinden sich 2 Registerkarten.

Wenn ich in SceneBuilder auf die Vorschau klicke, werden die Registerkarten beim Klicken auf den Tab-Kopf nicht umgeschaltet.

<?xml version="1.0" encoding="UTF-8"?> 
    <?import javafx.scene.control.SplitPane?> 
    <?import javafx.scene.control.Tab?> 
    <?import javafx.scene.control.TabPane?> 
    <?import javafx.scene.control.TreeView?> 
    <?import javafx.scene.layout.AnchorPane?> 
    <?import javafx.scene.layout.ColumnConstraints?> 
    <?import javafx.scene.layout.GridPane?> 
    <?import javafx.scene.layout.RowConstraints?> 
    <GridPane id="content" alignment="CENTER" prefHeight="310.0" prefWidth="800.0" styleClass="mainParent" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.gvj.sndp.view.controller.HomeController"> 
     <children> 
      <SplitPane dividerPositions="0.18421052631578946" prefHeight="160.0" prefWidth="200.0" GridPane.rowIndex="2"> 
      <items> 
       <TreeView fx:id="menuTreeView" prefHeight="273.0" prefWidth="115.0" /> 
       <TabPane fx:id="tabPane" mouseTransparent="true" prefHeight="200.0" prefWidth="200.0" rotateGraphic="true"> 
        <tabs> 
         <Tab text="Untitled Tab"> 
         <content> 
          <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
         </content> 
         </Tab> 
         <Tab text="Untitled Tab"> 
         <content> 
          <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
         </content> 
         </Tab> 
        </tabs></TabPane> 
      </items> 
      </SplitPane> 
     </children> 
     <columnConstraints> 
     <ColumnConstraints hgrow="ALWAYS" minWidth="-1.0" prefWidth="-1.0" /> 
     </columnConstraints> 
     <rowConstraints> 
      <RowConstraints maxHeight="35.0" minHeight="22.0" prefHeight="30.0" valignment="CENTER" vgrow="ALWAYS" /> 
     <RowConstraints maxHeight="35.0" minHeight="22.0" prefHeight="22.0" valignment="CENTER" vgrow="ALWAYS" /> 
      <RowConstraints valignment="CENTER" vgrow="ALWAYS" /> 
     </rowConstraints> 
    </GridPane> 

Antwort

2

Es wird erwartet, dass es nicht alles auf Mausklick macht, wie Sie es transparent für Mausereignisse gesetzt: mouseTransparent="true"

<TabPane fx:id="tabPane" mouseTransparent="true" prefHeight="200.0" prefWidth="200.0" rotateGraphic="true"> 

ich es durch Zufall gemacht erraten, aber wenn Sie setzen mouseTransparent Eigenschaft auf true :

Wenn wahr, ist dieser Knoten (zusammen mit allen seinen untergeordneten) vollständig transparent für Mausereignisse . Wenn Sie ein Ziel für ein Mausereignis auswählen, werden die Knoten mit mouseTransparent auf "true" gesetzt und ihre Teilbäume werden nicht berücksichtigt.

Entfernen Sie den erwähnten Teil von Ihrem FXML und Ihre Vorschau wird wie ein Zauber wirken.

In SceneBuilder auf der Registerkarte Eigenschaften von TabPane:

enter image description here

1
<?xml version="1.0" encoding="UTF-8"?> 

<?import java.lang.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
<?import javafx.scene.control.SplitPane?> 
<?import javafx.scene.control.Tab?> 
<?import javafx.scene.control.TabPane?> 
<?import javafx.scene.control.TreeView?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.layout.ColumnConstraints?> 
<?import javafx.scene.layout.GridPane?> 
<?import javafx.scene.layout.RowConstraints?> 


<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <TabPane nodeOrientation="LEFT_TO_RIGHT" tabClosingPolicy="UNAVAILABLE"> 
     <tabs> 
      <Tab text="Tab1" /> 
      <Tab text="Tab2"> 
      <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="229.0" prefWidth="600.0" /> 
      </content> 
      </Tab> 
     </tabs> 
     </TabPane> 
    </children> 
</Pane> 

ändern tabpane nach Ihrer gewünschten Größe.

Verwandte Themen