This discussion is archived
6 Replies Latest reply: Mar 3, 2013 3:20 PM by James_D RSS

TableView Slow weird TableCells

Cobra Ice Newbie
Currently Being Moderated
I hope I am making a mistake in my code, because in it my TableView is extremely slow.

If I add a row it takes a few seconds before displaying the new row.

This is extremely unusable, especially if I start using custom nodes inside the TableCells, which slows things down even more.

In the following code I am recording each time a new TableCell is created.
I would expect a new TableCell for each column and then this cell will be reused to increase speed and save memory, but new TableCells are created 21 times over, in stead of 1, as you can see in the results following the code.

As you can expect this unnecessary recreation of the same TableCell is a slow process.

Not only this, but each time a row is created and a new TableCell is created for the new row cell then the new TableCell's updateItem method is run 2 times each time in stead of the expected one time.

All this extra padding adds up in processing time and in a big database row this takes a long time.

Please show me what I am doing wrong and how I can improve performance please.
  • 1. Re: TableView Slow weird TableCells
    Cobra Ice Newbie
    Currently Being Moderated
    The scene only contains a BorderPane with a button at the top part of the pane to add new rows.
    util.Util.getCurrDate() only displays the time to see how long a process takes.
    CODE:
    public class UtilController implements Initializable {
         final private TableView               tableView     = new TableView();
         final private ObservableList     data          = FXCollections.observableArrayList();
         
         
         
         @FXML
         private BorderPane frame;
         
         @FXML
         private void handleButtonAction(ActionEvent event) {
    System.out.println("\n\n\n\n\n\n\n");
    System.out.println(util.Util.getCurrDate()+ "     *************************************");
              data.add(    new Person(data.size())    );
         } // END METHOD handleButtonAction
         
         @Override
         public void initialize(URL url, ResourceBundle rb) {
              final ObservableList     tabCols = tableView.getColumns();
              
              for (int cc = 0; cc < 10; cc++) {
                   final TableColumn tableColumn = new TableColumn(String.valueOf(cc));
                   tableColumn.setCellValueFactory(new PropertyValueFactory<Person, String>(  "name" +cc  ));
                   
                   tableColumn.setCellFactory(  new Callback<TableColumn<Object, Object>, TableCell<Object, Object>>() {
                                  @Override
                                  public TableCell<Object, Object> call(TableColumn<Object, Object> param) {
                                       return new TableCell() {
    {
    System.out.println(util.Util.getCurrDate()+ "     TableCell{new1}");
    }
                                                           // Save NODE for multiple use
                                                           @Override
                                                           final public void updateItem(final Object item, final boolean empty) {
                                                                super.updateItem(item, empty);
                                                                if (item == null)     setText(null);
                                                                else                    setText(item.toString());
                                                                setGraphic(null);
    System.out.println(util.Util.getCurrDate()+ "     TableCell{updateItem(...)} item=" +item);
                                                           } // END METHOD updateItem
                                                 }; // END RETURN
                                  }});
                   
                   tabCols.add(  tableColumn  );
              } // END FOR-LOOP
              
              
              tableView.setItems(data);
              frame.setCenter(tableView);
         } // END METHOD initialize
         
         
         public class Person {
              private final StringProperty[] names = new SimpleStringProperty[10];
              {for (int cc = 0; cc < 10; cc++) names[cc] = new SimpleStringProperty();}
    
              Person(final int in_Num) {
                   for (int cc = 0; cc < 10; cc++) names[cc].set( "name[" +cc+ "].num=" +in_Num);
              } // END CONSTRUCTOR Person
    
              public String getName0() {return names[0].get();} public void setName0(String value) {names[0].set(value);}public StringProperty name0Property() {return names[0];}
              public String getName1() {return names[1].get();} public void setName1(String value) {names[1].set(value);}public StringProperty name1Property() {return names[1];}
              public String getName2() {return names[2].get();} public void setName2(String value) {names[2].set(value);}public StringProperty name2Property() {return names[2];}
              public String getName3() {return names[3].get();} public void setName3(String value) {names[3].set(value);}public StringProperty name3Property() {return names[3];}
              public String getName4() {return names[4].get();} public void setName4(String value) {names[4].set(value);}public StringProperty name4Property() {return names[4];}
              public String getName5() {return names[5].get();} public void setName5(String value) {names[5].set(value);}public StringProperty name5Property() {return names[5];}
              public String getName6() {return names[6].get();} public void setName6(String value) {names[6].set(value);}public StringProperty name6Property() {return names[6];}
              public String getName7() {return names[7].get();} public void setName7(String value) {names[7].set(value);}public StringProperty name7Property() {return names[7];}
              public String getName8() {return names[8].get();} public void setName8(String value) {names[8].set(value);}public StringProperty name8Property() {return names[8];}
              public String getName9() {return names[9].get();} public void setName9(String value) {names[9].set(value);}public StringProperty name9Property() {return names[9];}
         } // END CLASS Person
    } // END CLASS UtilController
  • 2. Re: TableView Slow weird TableCells
    Cobra Ice Newbie
    Currently Being Moderated
    The results are given after pressing the button to add a new Person object, which contains 10 columns.
    RESULTS:
    2013-03-02 22:09:24m545     *************************************
    2013-03-02 22:09:24m590     TableCell{new1}
    2013-03-02 22:09:24m591     TableCell{new1}
    2013-03-02 22:09:24m591     TableCell{new1}
    2013-03-02 22:09:24m591     TableCell{new1}
    2013-03-02 22:09:24m591     TableCell{new1}
    2013-03-02 22:09:24m592     TableCell{new1}
    2013-03-02 22:09:24m592     TableCell{new1}
    2013-03-02 22:09:24m592     TableCell{new1}
    2013-03-02 22:09:24m592     TableCell{new1}
    2013-03-02 22:09:24m592     TableCell{new1}
    2013-03-02 22:09:24m594     TableCell{updateItem(...)} item=name[0].num=0
    2013-03-02 22:09:24m594     TableCell{updateItem(...)} item=name[0].num=0
    2013-03-02 22:09:24m594     TableCell{updateItem(...)} item=name[1].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[1].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[2].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[2].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[3].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[3].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[4].num=0
    2013-03-02 22:09:24m595     TableCell{updateItem(...)} item=name[4].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[5].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[5].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[6].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[6].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[7].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[7].num=0
    2013-03-02 22:09:24m596     TableCell{updateItem(...)} item=name[8].num=0
    2013-03-02 22:09:24m597     TableCell{updateItem(...)} item=name[8].num=0
    2013-03-02 22:09:24m597     TableCell{updateItem(...)} item=name[9].num=0
    2013-03-02 22:09:24m597     TableCell{updateItem(...)} item=name[9].num=0
    2013-03-02 22:09:24m668     TableCell{new1}
    2013-03-02 22:09:24m668     TableCell{new1}
    2013-03-02 22:09:24m668     TableCell{new1}
    2013-03-02 22:09:24m668     TableCell{new1}
    2013-03-02 22:09:24m668     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{new1}
    2013-03-02 22:09:24m669     TableCell{updateItem(...)} item=name[0].num=0
    2013-03-02 22:09:24m669     TableCell{updateItem(...)} item=name[0].num=0
    2013-03-02 22:09:24m669     TableCell{updateItem(...)} item=name[1].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[1].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[2].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[2].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[3].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[3].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[4].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[4].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[5].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[5].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[6].num=0
    2013-03-02 22:09:24m670     TableCell{updateItem(...)} item=name[6].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[7].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[7].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[8].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[8].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[9].num=0
    2013-03-02 22:09:24m671     TableCell{updateItem(...)} item=name[9].num=0
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m725     TableCell{new1}
    2013-03-02 22:09:24m726     TableCell{new1}
    2013-03-02 22:09:24m726     TableCell{new1}
    2013-03-02 22:09:24m726     TableCell{new1}
    2013-03-02 22:09:24m726     TableCell{new1}
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m726     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m727     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m790     TableCell{new1}
    2013-03-02 22:09:24m790     TableCell{new1}
    2013-03-02 22:09:24m790     TableCell{new1}
    2013-03-02 22:09:24m790     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{new1}
    2013-03-02 22:09:24m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m895     TableCell{new1}
    2013-03-02 22:09:24m895     TableCell{new1}
    2013-03-02 22:09:24m896     TableCell{new1}
    2013-03-02 22:09:24m896     TableCell{new1}
    2013-03-02 22:09:24m896     TableCell{new1}
    2013-03-02 22:09:24m897     TableCell{new1}
    2013-03-02 22:09:24m897     TableCell{new1}
    2013-03-02 22:09:24m898     TableCell{new1}
    2013-03-02 22:09:24m899     TableCell{new1}
    2013-03-02 22:09:24m900     TableCell{new1}
    2013-03-02 22:09:24m900     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m900     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m900     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m900     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m901     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:24m902     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m010     TableCell{new1}
    2013-03-02 22:09:25m011     TableCell{new1}
    2013-03-02 22:09:25m011     TableCell{new1}
    2013-03-02 22:09:25m012     TableCell{new1}
    2013-03-02 22:09:25m012     TableCell{new1}
    2013-03-02 22:09:25m013     TableCell{new1}
    2013-03-02 22:09:25m014     TableCell{new1}
    2013-03-02 22:09:25m014     TableCell{new1}
    2013-03-02 22:09:25m014     TableCell{new1}
    2013-03-02 22:09:25m015     TableCell{new1}
    2013-03-02 22:09:25m015     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m016     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m016     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m016     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m016     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m017     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m017     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m017     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m017     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m017     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m018     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m018     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m018     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m019     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m019     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m019     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m020     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m020     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m020     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m020     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m105     TableCell{new1}
    2013-03-02 22:09:25m106     TableCell{new1}
    2013-03-02 22:09:25m106     TableCell{new1}
    2013-03-02 22:09:25m107     TableCell{new1}
    2013-03-02 22:09:25m107     TableCell{new1}
    2013-03-02 22:09:25m108     TableCell{new1}
    2013-03-02 22:09:25m108     TableCell{new1}
    2013-03-02 22:09:25m109     TableCell{new1}
    2013-03-02 22:09:25m110     TableCell{new1}
    2013-03-02 22:09:25m110     TableCell{new1}
    2013-03-02 22:09:25m111     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m111     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m111     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m112     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m112     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m112     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m113     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m113     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m113     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m114     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m114     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m114     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m114     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m115     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m226     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m227     TableCell{new1}
    2013-03-02 22:09:25m228     TableCell{new1}
    2013-03-02 22:09:25m228     TableCell{new1}
    2013-03-02 22:09:25m228     TableCell{new1}
    2013-03-02 22:09:25m228     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m228     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m228     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m228     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m229     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m229     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m229     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m229     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m229     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m230     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m230     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m230     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m230     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m231     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m231     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m231     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m231     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m232     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m232     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m232     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m320     TableCell{new1}
    2013-03-02 22:09:25m321     TableCell{new1}
    2013-03-02 22:09:25m321     TableCell{new1}
    2013-03-02 22:09:25m321     TableCell{new1}
    2013-03-02 22:09:25m321     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{new1}
    2013-03-02 22:09:25m322     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m323     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m324     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m325     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m325     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m381     TableCell{new1}
    2013-03-02 22:09:25m382     TableCell{new1}
    2013-03-02 22:09:25m382     TableCell{new1}
    2013-03-02 22:09:25m382     TableCell{new1}
    2013-03-02 22:09:25m383     TableCell{new1}
    2013-03-02 22:09:25m383     TableCell{new1}
    2013-03-02 22:09:25m384     TableCell{new1}
    2013-03-02 22:09:25m384     TableCell{new1}
    2013-03-02 22:09:25m384     TableCell{new1}
    2013-03-02 22:09:25m384     TableCell{new1}
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m385     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m386     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m386     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m386     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m386     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m386     TableCell{updateItem(...)} item=null
  • 3. Re: TableView Slow weird TableCells
    Cobra Ice Newbie
    Currently Being Moderated
    2013-03-02 22:09:25m454     TableCell{new1}
    2013-03-02 22:09:25m454     TableCell{new1}
    2013-03-02 22:09:25m454     TableCell{new1}
    2013-03-02 22:09:25m454     TableCell{new1}
    2013-03-02 22:09:25m455     TableCell{new1}
    2013-03-02 22:09:25m455     TableCell{new1}
    2013-03-02 22:09:25m455     TableCell{new1}
    2013-03-02 22:09:25m455     TableCell{new1}
    2013-03-02 22:09:25m455     TableCell{new1}
    2013-03-02 22:09:25m456     TableCell{new1}
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m456     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m457     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m458     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m458     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m512     TableCell{new1}
    2013-03-02 22:09:25m513     TableCell{new1}
    2013-03-02 22:09:25m513     TableCell{new1}
    2013-03-02 22:09:25m513     TableCell{new1}
    2013-03-02 22:09:25m513     TableCell{new1}
    2013-03-02 22:09:25m513     TableCell{new1}
    2013-03-02 22:09:25m514     TableCell{new1}
    2013-03-02 22:09:25m514     TableCell{new1}
    2013-03-02 22:09:25m514     TableCell{new1}
    2013-03-02 22:09:25m514     TableCell{new1}
    2013-03-02 22:09:25m514     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m514     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m515     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m516     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m609     TableCell{new1}
    2013-03-02 22:09:25m609     TableCell{new1}
    2013-03-02 22:09:25m609     TableCell{new1}
    2013-03-02 22:09:25m609     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{new1}
    2013-03-02 22:09:25m610     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m610     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m611     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m612     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m612     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m612     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m687     TableCell{new1}
    2013-03-02 22:09:25m687     TableCell{new1}
    2013-03-02 22:09:25m687     TableCell{new1}
    2013-03-02 22:09:25m687     TableCell{new1}
    2013-03-02 22:09:25m688     TableCell{new1}
    2013-03-02 22:09:25m688     TableCell{new1}
    2013-03-02 22:09:25m688     TableCell{new1}
    2013-03-02 22:09:25m688     TableCell{new1}
    2013-03-02 22:09:25m688     TableCell{new1}
    2013-03-02 22:09:25m689     TableCell{new1}
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m689     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m690     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m787     TableCell{new1}
    2013-03-02 22:09:25m787     TableCell{new1}
    2013-03-02 22:09:25m787     TableCell{new1}
    2013-03-02 22:09:25m787     TableCell{new1}
    2013-03-02 22:09:25m788     TableCell{new1}
    2013-03-02 22:09:25m788     TableCell{new1}
    2013-03-02 22:09:25m788     TableCell{new1}
    2013-03-02 22:09:25m788     TableCell{new1}
    2013-03-02 22:09:25m788     TableCell{new1}
    2013-03-02 22:09:25m789     TableCell{new1}
    2013-03-02 22:09:25m789     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m789     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m790     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m790     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m790     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m790     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m790     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m791     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m792     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m793     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m904     TableCell{new1}
    2013-03-02 22:09:25m904     TableCell{new1}
    2013-03-02 22:09:25m905     TableCell{new1}
    2013-03-02 22:09:25m905     TableCell{new1}
    2013-03-02 22:09:25m906     TableCell{new1}
    2013-03-02 22:09:25m906     TableCell{new1}
    2013-03-02 22:09:25m907     TableCell{new1}
    2013-03-02 22:09:25m907     TableCell{new1}
    2013-03-02 22:09:25m907     TableCell{new1}
    2013-03-02 22:09:25m908     TableCell{new1}
    2013-03-02 22:09:25m908     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m909     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m909     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m909     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m909     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m910     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m910     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m910     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m910     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m910     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m911     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m911     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m911     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m911     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m912     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m912     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m912     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m912     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m913     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:25m913     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m002     TableCell{new1}
    2013-03-02 22:09:26m003     TableCell{new1}
    2013-03-02 22:09:26m003     TableCell{new1}
    2013-03-02 22:09:26m003     TableCell{new1}
    2013-03-02 22:09:26m004     TableCell{new1}
    2013-03-02 22:09:26m004     TableCell{new1}
    2013-03-02 22:09:26m005     TableCell{new1}
    2013-03-02 22:09:26m005     TableCell{new1}
    2013-03-02 22:09:26m006     TableCell{new1}
    2013-03-02 22:09:26m006     TableCell{new1}
    2013-03-02 22:09:26m007     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m007     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m007     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m007     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m008     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m008     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m008     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m008     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m009     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m009     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m009     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m009     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m010     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m010     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m010     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m010     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m010     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m011     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m011     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m011     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m120     TableCell{new1}
    2013-03-02 22:09:26m120     TableCell{new1}
    2013-03-02 22:09:26m121     TableCell{new1}
    2013-03-02 22:09:26m121     TableCell{new1}
    2013-03-02 22:09:26m122     TableCell{new1}
    2013-03-02 22:09:26m122     TableCell{new1}
    2013-03-02 22:09:26m123     TableCell{new1}
    2013-03-02 22:09:26m123     TableCell{new1}
    2013-03-02 22:09:26m124     TableCell{new1}
    2013-03-02 22:09:26m124     TableCell{new1}
    2013-03-02 22:09:26m124     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m124     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m124     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m125     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m126     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m126     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m217     TableCell{new1}
    2013-03-02 22:09:26m218     TableCell{new1}
    2013-03-02 22:09:26m218     TableCell{new1}
    2013-03-02 22:09:26m219     TableCell{new1}
    2013-03-02 22:09:26m219     TableCell{new1}
    2013-03-02 22:09:26m220     TableCell{new1}
    2013-03-02 22:09:26m220     TableCell{new1}
    2013-03-02 22:09:26m221     TableCell{new1}
    2013-03-02 22:09:26m221     TableCell{new1}
    2013-03-02 22:09:26m222     TableCell{new1}
    2013-03-02 22:09:26m222     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m223     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m224     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m225     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m225     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m225     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m226     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m226     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m226     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m227     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m336     TableCell{new1}
    2013-03-02 22:09:26m337     TableCell{new1}
    2013-03-02 22:09:26m338     TableCell{new1}
    2013-03-02 22:09:26m338     TableCell{new1}
    2013-03-02 22:09:26m339     TableCell{new1}
    2013-03-02 22:09:26m339     TableCell{new1}
    2013-03-02 22:09:26m340     TableCell{new1}
    2013-03-02 22:09:26m340     TableCell{new1}
    2013-03-02 22:09:26m341     TableCell{new1}
    2013-03-02 22:09:26m341     TableCell{new1}
    2013-03-02 22:09:26m342     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m342     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m342     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m342     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m342     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m343     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m344     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m428     TableCell{new1}
    2013-03-02 22:09:26m429     TableCell{new1}
    2013-03-02 22:09:26m429     TableCell{new1}
    2013-03-02 22:09:26m430     TableCell{new1}
    2013-03-02 22:09:26m431     TableCell{new1}
    2013-03-02 22:09:26m431     TableCell{new1}
    2013-03-02 22:09:26m432     TableCell{new1}
    2013-03-02 22:09:26m433     TableCell{new1}
    2013-03-02 22:09:26m433     TableCell{new1}
    2013-03-02 22:09:26m434     TableCell{new1}
    2013-03-02 22:09:26m434     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m435     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m435     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m435     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m436     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m436     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m436     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m436     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m436     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
    2013-03-02 22:09:26m437     TableCell{updateItem(...)} item=null
  • 4. Re: TableView Slow weird TableCells
    Cobra Ice Newbie
    Currently Being Moderated
    O.K this is weird.

    I found a problem.

    I do most of my testing in Netbeans 7.3 and on Netbeans nightly builds for JDK8.

    This is where I noticed the slow results.

    I just ran the application outside netbeans as a stand alone JAR and it is extremely fast there.
    Easily 20 times faster.

    Is there a reason netbeans is so slow?
    Is there a way to check what could cause this slow down ?

    I am very happy now knowing that the application at least is not at fault, but it is still a small irritation during development and testing applications.

    I have not tested Netbeans on windows yet.
    I am using Netbeans 7.3 for JDK 7 and JDK 8 and Netbeans nightly build for JDK 8.
    I am using Netbeans on Linux mint 14 64bit with 16gig ram and I7 cpu.
    All versions of Netbeans seem slow.

    I would like to know if the same problem exists in windows?

    Again not a show stopped, but just a small irritation. :)
  • 5. Re: TableView Slow weird TableCells
    Cobra Ice Newbie
    Currently Being Moderated
    One more thing.

    Javafx might be fast, but still looking at the logs above you can see a lot of wasted column cell nodes are created each time a row is added.

    Why is javafx not reusing the cells as stated in the documentation.

    It just seem so inefficiency.

    Again if you can see anything I can better in the sample code, please let me know so I can improve my tool kits.
  • 6. Re: TableView Slow weird TableCells
    James_D Guru
    Currently Being Moderated
    I tried your code (under JDK 7 / JavaFX 2.2.4) and it seemed to run fine, with decent response times. I use Eclipse on a Mac, and I was running from inside Eclipse (not deploying to a jar).

    My understanding of table cells (at least, in the current implementation) is that a new table cell instance is created for each visible cell. When a cell becomes invisible (for example, it's scrolled off the screen), then it can be reused for any new cells that become visible. That doesn't explain everything you see in your logs, but does explain why multiple cells are instantiated for each column. In practice, this strategy seems to work pretty well.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points