2013-04-28 6 views
0

У меня есть форма, которая имеет 4 TextFields, которые я пытаюсь отслеживать с ObservableList, который имеет 5 столбцов. TableView имеет дополнительный столбец для хранения вычисленного значения (пятый столбец в моем ObservableList).Вычисляемое значение, переданное как параметр модели данных, не отображающийся в виде таблицы

Данные сбрасываются штрафом с 4 текстовых полей, но вычисленный столбец выходит пустым. Я предполагаю, что это проблема с моими геттерами и сеттерами, потому что значение вычисляется до того, как передать его в мою модель данных. И я просто протестировал модель данных и получаю значение (переданное как параметр).

Чтобы не ставить посторонний код здесь, я думаю, что это соответствующие части:

// Это (часть) моя модель данных

public static class ItemSale { 
    private ItemSale (Double barC, String itemm, Double pricee, 
      Integer quant, Double totsP) { 
     this.barCode = new SimpleDoubleProperty(barC); 
     this.item = new SimpleStringProperty(itemm); 
     this.price = new SimpleDoubleProperty(pricee); 
     this.quantity = new SimpleIntegerProperty(quant); 
     this.rowPrice = new SimpleDoubleProperty(totsP); 

     System.out.println(totsP); // this (also) prints the correct value to the screen 

// цена * количество = rowPrice, то расчетное значение, которое не появляется позже

// геттер & сеттеров для количества (работы, это текстовое поле в моей форме)

public SimpleIntegerProperty getQuantity() { 
     return quantity; 
    } 
    public void setQuantity(Integer quant) { 
     quantity.set(quant); 
    } 

// геттер & сеттер для rowPrice (не работает, рассчитывается, см ниже)

public SimpleDoubleProperty getRowPrice(Double totsP) { 
     return rowPrice; 
    } 
    public void setRowPrice(Double totsP) { 
     rowPrice.set(totsP); 
    } 

// в обработчике кнопки Add действий, у меня есть:

  Double rowPP; 
      rowPP = qua * pr; //qua = variable for quantity, pr = variable for price 
      System.out.println(rowPP); //prints to screen fine 

      data.add(new ItemSale(
        bcode, 
        item.getText(), 
        pr, 
        qua, 
        rowPP 
        )); 
+0

Ooops ... понял, понял. Я изучал еще одну проблему и нашел ответ на http://stackoverflow.com/questions/13518239/javafx-how-to-display-simplestringproperty-value-in-tableview и, пройдя свой код, заметил, что у меня есть геттер с параметрами. Удалены параметры и BOOM! это сработало. – John

ответ

1

по электронной почте Ой ... понял. Я исследовал еще одну проблему и нашел ответ на JavaFx - How to display SimpleStringProperty value in TableView, и, пройдя свой код, я заметил, что у меня есть геттер с параметрами. Удалены параметры и BOOM! это сработало.

 Смежные вопросы

  • Нет связанных вопросов^_^