2014-07-16 44 views
0

我試圖在更改爲特定選項卡時執行方法。 如果沒有選擇,當我選擇它,我需要讚美它。我如何從tabpane執行方法,當我在javafx中單擊它時

這就是我實際上做:

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

回答

0

好吧,我不知道你正試圖在大約提到的方法去做,但如果你想fire events對標籤的變化,你可以使用在ChangeListener您TabPane

工作示例

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

} 
相關問題