2016-04-09 25 views
0
import java.util.Arrays; 
import java.util.List; 
import javafx.collections.FXCollections; 
import javafx.collections.ObservableList; 
import javafx.geometry.Insets; 
import javafx.geometry.Pos; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.control.Label; 
import javafx.scene.control.TableColumn; 
import javafx.scene.control.TableView; 
import javafx.scene.control.cell.PropertyValueFactory; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.scene.layout.AnchorPane; 
import javafx.scene.layout.BorderPane; 
import javafx.scene.layout.HBox; 
import javafx.scene.layout.VBox; 
import javafx.stage.Stage; 

public class Testtt{ 

    static List<String> products_list; 
    static List<String> quantity_list; 
    static List<String> selling_price_list; 
    static List<String> revenue_list; 
    static List<String> cost_price_list; 
    static List<String> profit_margin_list; 
    static List<String> profit_list; 


    public void TableView(Stage window){ 

     BorderPane layout = new BorderPane(); 
     AnchorPane top = new AnchorPane(); 
     layout.setTop(top); 
     Scene scene = new Scene(layout, 940, 630); 

     Image Small_logo = new Image("file:Smaller_Logo.png"); 
     ImageView Small_logoView = new ImageView(Small_logo); 
     Small_logoView.setFitWidth(100); 
     Small_logoView.setPreserveRatio(true); 

     Label title_message = new Label("Product sales"); 

     AnchorPane.setLeftAnchor(title_message, 5.0); 
     AnchorPane.setRightAnchor(Small_logoView, 5.0); 
     top.getChildren().addAll(title_message,Small_logoView); 

     VBox center = new VBox(10); 
     center.setPadding(new Insets(20,10,0,10)); 

     products_list = Arrays.asList("Coffee", "Tea"); 
     quantity_list = Arrays.asList("5", "10"); 
     selling_price_list = Arrays.asList("10", "4"); 
     revenue_list = Arrays.asList("100", "120"); 
     cost_price_list = Arrays.asList("5", "2"); 
     profit_margin_list = Arrays.asList("50%", "5%"); 
     profit_list = Arrays.asList("25", "20"); 

     TableColumn<getting_data,String> products = new TableColumn<getting_data,String>("Product name"); 
     products.setMinWidth(180); 
     products.setCellValueFactory(new PropertyValueFactory<>("product")); 

     TableColumn<getting_data,String> quantity = new TableColumn<getting_data,String>("Quantity"); 
     quantity.setMinWidth(120); 
     quantity.setCellValueFactory(new PropertyValueFactory<>("quantity")); 

     TableColumn<getting_data,String> Selling_price_column = new TableColumn<getting_data,String>("Selling price"); 
     Selling_price_column.setMinWidth(160); 
     Selling_price_column.setCellValueFactory(new PropertyValueFactory<>("Selling_price")); 

     TableColumn<getting_data,String> revenue_column = new TableColumn<getting_data,String>("Revenue"); 
     revenue_column.setMinWidth(120); 
     revenue_column.setCellValueFactory(new PropertyValueFactory<>("revenue")); 

     TableColumn<getting_data,String> cost_price_column = new TableColumn<getting_data,String>("Cost"); 
     cost_price_column.setMinWidth(80); 
     cost_price_column.setCellValueFactory(new PropertyValueFactory<>("cost")); 

     TableColumn<getting_data,String> profit_column = new TableColumn<getting_data,String>("Profit"); 
     profit_column.setMinWidth(90); 
     profit_column.setCellValueFactory(new PropertyValueFactory<>("profit")); 

     TableColumn<getting_data,String> profit_margin_column = new TableColumn<getting_data,String>("Profit margin"); 
     profit_margin_column.setMinWidth(170); 
     profit_margin_column.setCellValueFactory(new PropertyValueFactory<>("profit_margin")); 

     TableView<getting_data> Table = new TableView<>(); 
     Table.setItems(load_products()); 
     Table.getColumns().addAll(products, quantity, Selling_price_column,revenue_column,cost_price_column,profit_column,profit_margin_column); 

     center.getChildren().add(Table); 
     layout.setCenter(center); 

     HBox bottom_layout = new HBox(10); 
     bottom_layout.setAlignment(Pos.BOTTOM_RIGHT); 

     Button back = new Button("Go back to home screen"); 

     bottom_layout.getChildren().add(back); 
     layout.setBottom(bottom_layout); 

     scene.getStylesheets().add("Admin_style.css"); 

     window.setScene(scene); 
    } 

    public ObservableList<getting_data> load_products(){ 
     ObservableList<getting_data> products_observable_list = FXCollections.observableArrayList(); 
     for(int i= 0;i<2;i++){ 
      products_observable_list.add(new getting_data(products_list.get(i),quantity_list.get(i),selling_price_list.get(i),revenue_list.get(i),cost_price_list.get(i),profit_list.get(i),profit_margin_list.get(i)));} 
     return products_observable_list;} 

    public class getting_data{ 

     private String product; 
     private String quantity; 
     private String Selling_price; 
     private String revenue; 
     private String cost; 
     private String profit; 
     private String profit_margin; 

     public getting_data(String product,String quantity,String Selling_price,String revenue,String cost,String profit,String profit_margin){ 
      this.quantity = quantity; 
      this.product = product; 
      this.Selling_price = Selling_price; 
      this.revenue = revenue; 
      this.cost = cost; 
      this.profit = profit; 
      this.profit_margin = profit_margin;} 

     public String getProduct(){return product;} 
     public void setProduct(String product){this.product=product;} 

     public String getQuantity(){return quantity;} 
     public void setQuantity(String quantity){this.quantity=quantity;} 

     public String getSelling_price(){return Selling_price;} 
     public void setSelling_price(String Selling_price){this.Selling_price=Selling_price;} 

     public String getRevenue(){return revenue;} 
     public void setRevenue(String revenue){this.revenue=revenue;} 

     public String getCost(){return cost;} 
     public void setCost(String cost){this.cost=cost;} 

     public String getProfit(){return profit;} 
     public void setProfit(String profit){this.profit=profit;} 

     public String getMargin(){return profit_margin;} 
     public void setMargin(String profit_margin){this.profit_margin=profit_margin;} 

    } 
    public static void passer(Stage window){ 
     Testtt function = new Testtt(); 
     function.TableView(window); 
    } 
} 

Bu kod, kar marj sütununun değerini göstermiyor. diğer yerlerde kar marjı dizeleri koyarak dize ile bir sorunu olduğunu ve bu doğru değerleri görüntülenen eğer kontrol ettirin. Muhtemelen benim getters ve setter bir hata olduğunu düşünüyorum ama bunu bulmak için görünmüyor olabilir.Java'da tablo görünümü hatası

Yardımın için teşekkürler! :)

cevap

0

PropertyValueFactory özelliğine erişmek için yöntemler kullanır/alıcı değil, alan, bu alıcı alır söyledi. (Ve? Alıcı bir tarlada dönüş değeri saklamak için gerekli değildir nasıl.)

Sen fasulye için doğru adı kullanmak zorunda. senin alanında yanaprofit_margin olarak adlandırılır ancak sizin alıcı/ayarlayıcıgetMargin/setMargin, bu

new PropertyValueFactory<>("margin") 

yerine

new PropertyValueFactory<>("profit_margin") 
+0

Ah tamam ben farklı öğretilen bana deneyelim edildi olmalıdır adlandırılır Ben Alıcı ve ayarlayıcıların değişkenin adı orada tanımlanmış gerektiğini öğretildi. Teşekkürler –

İlgili konular