1

JavaFXを使い始めたばかりです。私の小さなプロジェクトでは、2 つのビューを取得しました。1 つ目はタブペインで満たされ、2 つ目はタブペインに新しいタブを追加するためのボタンが含まれています。つまり、新しいタブを追加するには、最初のビューと 2 番目のビューを切り替える必要があります。タブペインには、閉じることができない標準タブが 1 つあります。

私の問題:タブペインに複数の新しいタブを追加すると、すべてのタブが互いに塗りつぶされます。

私はすでにこのようにそれを防ごうとしました: すべてを初期化:

        private ArrayList<Tab> allTabs = new ArrayList<Tab>();
        Tab tab = new Tab();

        allTabs.add(tab);
        TabPane tp = new TabPane();
        tp.getTabs().add(tab);

選択を設定するために、いくつかのことを試しました:

        tp.getSelectionModel().clearSelection();
        tp.getSelectionModel().select(allTabs.size());
        _________________________________________________________________
        tp.getSelectionModel().clearSelection();
        tp.getSelectionModel().select(tp.getTabs().size);
        _________________________________________________________________
        tp.getSelectionModel().selectLast();
        _________________________________________________________________
        tp.getSelectionModel().selectNext();
        _________________________________________________________________
        tp.getSelectionModel().clearAndSelect(tp.getTabs().size());;

最新のタブを選択したい。これはすでに機能していますが、古いものは選択解除されていません。マウスクリックでタブを選択すると、問題はなくなります。

どんなアイデアにも感謝します。

4

2 に答える 2

0

同様の問題がありました。行を削除しただけです

 tabpane.getSelectionModel().clearSelection();

なぜそれが機能するのかわかりません。そのままにしてください:

 tb.getSelectionModel().select(index or tab);

また

tb.getSelectionModel().clearAndSelect(index or tab);

PS :tp.getSelectionModel().clearAndSelect(tp.getTabs().size()); これは何もしません。 tp.getTabs().size() は範囲外なので、

于 2016-11-06T00:32:22.783 に答える
0

異なる FXMLLoaders を使用している可能性はありますか? 通常の FXMLLoader とカスタム FXMLLoader を使用しているときに、同様の問題が発生しました。どちらの場合も同じものを使用してみてください。これが私にとってどのように機能するかです。

問題が解決しない場合は、いくつかの写真とコードフラグメントが問題の解決に役立ちます。

ご挨拶

于 2015-07-30T06:43:57.210 に答える