Tabs 在javafx中单击tabpane中的方法时,如何执行该方法

Tabs 在javafx中单击tabpane中的方法时,如何执行该方法,tabs,javafx,execute,tabpanel,scenebuilder,Tabs,Javafx,Execute,Tabpanel,Scenebuilder,当我更改到特定选项卡时,我正在尝试执行一个方法。 如果未选择,当我选择它时,我需要启动它 这就是我实际上正在做的: class Graph{ @FXML private TabPane Graphics; public void llenarResponsables() throws SQLException{ IDProceso=cbProceso.getSelectionModel().getSelectedItem().getIdProceso(); IDIndicador

当我更改到特定选项卡时,我正在尝试执行一个方法。 如果未选择,当我选择它时,我需要启动它

这就是我实际上正在做的:

class Graph{
@FXML private TabPane Graphics;
public void llenarResponsables() throws SQLException{
    IDProceso=cbProceso.getSelectionModel().getSelectedItem().getIdProceso();
    IDIndicador = cbIndicador.getSelectionModel().getSelectedItem().getIdIndicador();
    List<Responsables> responsables = new ArrayList<Responsables>();
    cdFormatoAnalisis oFormatoAnalisis = new cdFormatoAnalisis();
    responsables = oFormatoAnalisis.listarResponsables();
    ObservableList<Responsables> tvLlenar = FXCollections.observableArrayList(responsables);
    tcNombre.setCellValueFactory(new PropertyValueFac`tory<Responsables,String>("Usuario"));
    tcNombre.setResizable(false);
    tcPuesto.setCellValueFactory(new PropertyValueFactory<Responsables,String>("Categoria"));
    tcPuesto.setResizable(false);
    tvResponsables.setItems(tvLlenar);
    Graphics.setOnMouseClicked();
}

我不确定您在前面提到的方法中试图做什么,但是如果您想在更改选项卡时触发事件,可以使用选项卡窗格上的ChangeListener

一个有效的例子

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.stage.Stage;

public class FireEventsOnTabChange extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        TabPane tabPane = new TabPane();
        Tab tab1 = new Tab("Tab1");
        Tab tab2 = new Tab("Tab2");
        Tab tab3 = new Tab("Tab3");
        tabPane.getTabs().addAll(tab1, tab2, tab3);
        Scene scene = new Scene(tabPane, 200, 200);
        stage.setScene(scene);
        stage.show();

        tabPane.getSelectionModel().selectedItemProperty()
                .addListener(new ChangeListener<Tab>() {
                    @Override
                    public void changed(ObservableValue<? extends Tab> old,
                            Tab oldTab, Tab newTab) {
                        //Check for Tab and call you method here
                        System.out.println("You have selected "
                                + newTab.getText());
                    }

                });
    }

    public static void main(String[] args) {
        launch(args);
    }

}