0

TableViewに小さな問題が1つあります。これは、ObservableListに似ており、結果を取得してテーブルビューに入れることができます。でも :

  • 毎秒ObservableListを呼び出します
  • 新しい結果が得られたら、テーブルビューのすべてのアイテムを削除し、新しいアイテムを追加します

それは機能しますが...たとえば、テーブルビューで1つの行を選択すると、テーブルビューが更新された後、事前に選択された列が消えます...そしてそれは重すぎると感じます。他の解決策はありますか?

毎秒情報をロードしている私のコードの部分はこれです:

    getColumns().addAll(symbol, bid, ask, high, low, created_at);


    try {
        setItems(getObservableList());

        Timeline fiveSecondsWonder = new Timeline(new KeyFrame(Duration.seconds(2), new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {

                try {
                    setItems(getObservableList());
                } catch (IOException e) {                       
                    e.printStackTrace();
                }
            }
        }));

        fiveSecondsWonder.setCycleCount(Timeline.INDEFINITE);
        fiveSecondsWonder.play();
    } catch (ParseException | IOException | SAXException | ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
4

1 に答える 1

0

最初にアイテムを掃除します。

getItems().clear();

そして2番目にもう一度挿入します。

setItems(getObservableList());
于 2013-02-22T14:17:56.407 に答える