0

開いているタブ (選択した状態) でアプリケーションを起動する必要があります。コードがあります。

 SingleSelectionModel<Tab> selectionModel = tabPane.getSelectionModel();
 selectionModel.select(tab); 

動作しますが、既存の他のタブが非表示になります。

彼らはまた使用しようとしました

    selectionModel.select(1); //select by index starting with 0
    selectionModel.clearSelection(); //clear your selection

どんな助けでも大歓迎です

4

1 に答える 1

0

メソッドの初期化でこれを試してください:

    @FXML
    private TabPane tabPane;
    private Tab clienTab = new Tab( "Clients" );
    private Tab byMonthTab = new Tab( "By Months" );
    private Tab aboutTab = new Tab( "About" );

    @Override
    public void initialize( final URL location, final ResourceBundle resources )
    {
        private ObservableList<Tab> observerList = null;
        SingleSelectionModel<Tab> selectionModel = null;

        if ( selectionModel == null )
        {
            selectionModel = tabPane.getSelectionModel();
        }

        if ( observerList == null )
        {
            observerList = FXCollections.observableArrayList();
        }

        observerList.add( clienTab );
        observerList.add( monthsTab );
        observerList.add( aboutTab );
        tabPane.getTabs().setAll( observerList );
        selectionModel.select( observerList.get( 1 ) );
    }

そして後で、メニュー項目でこれを行うことができます:

    @FXML
    private void clickMenuItemClients( final ActionEvent event )
    {
        if ( selectionModel.isSelected( 1 ) )
        {
            selectionModel.selectNext();
        }
    }
于 2013-11-03T08:29:36.477 に答える