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);
}
}