2017-03-29 1 views
0

Ceci est mon fichier mise en page FXML:Comment effectuer une action lorsque l'onglet est sélectionné dans le générateur de scènes javafx?

<?import javafx.scene.control.Tab?> 
<?import javafx.scene.control.TabPane?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.layout.Pane?> 

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="443.0" prefWidth="610.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> 
    <children> 
     <TabPane fx:id="tabPane" layoutY="37.0" nodeOrientation="RIGHT_TO_LEFT" onContextMenuRequested="#event" prefHeight="400.0" prefWidth="610.0" tabClosingPolicy="UNAVAILABLE"> 
     <tabs> 
      <Tab fx:id="total" closable="false" text="x" onSelectionChanged="#event"> 
      <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
      </content> 
      </Tab> 
      <Tab text="x"> 
      <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
      </content> 
      </Tab> 
      <Tab text="y"> 
       <content> 
        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
       </content> 
      </Tab> 
      <Tab text="y"> 
       <content> 
        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
       </content> 
      </Tab> 
     </tabs> 
     </TabPane> 
    </children> 
</Pane> 

Je veux effectuer une action si l'utilisateur clique sur l'onglet avec id total, mais je OnSelectionChanged et qui ne peut me aider. Comment puis-je le gérer si l'utilisateur clique sur l'onglet ID total?

+0

Qu'est-ce qui ne va pas avec ce que vous avez? –

Répondre

0

Veuillez essayer le code ci-dessous;

tabPane.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() 
{ 
    @Override 
    public void changed(ObservableValue<? extends Tab> ov, Tab t, Tab t1) 
    { 
     if ("total".equals(t1.getId())) 
     { 
     //TODO 
     } 
    } 
});