【发布时间】:2018-07-03 22:41:39
【问题描述】:
链接到完整项目 .zip(大学库存系统)https://www.dropbox.com/s/t88vsjt7awmlv93/MattNapper.zip?dl=0
尝试使用 ObservableList 获取要在 tableview 中显示的数据。零件模型是抽象的。 InHousePart 和 OutsoucredPart 扩展 Part。 Inventory 是我声明 ObservableList,伪造数据,返回 ObservableList 方法的地方
在我的 Inventory 课程中,我有:
public class Inventory {
//declaring arrays for parts, and products
private ObservableList<Product> products = FXCollections.observableArrayList();
private ObservableList<Part> allParts = FXCollections.observableArrayList();
//fake data
//**This is where the error incompatible types: int cant be converted to Integer Property**
InHousePart part1 = new InHousePart (1, 1, "pick", 10.00, 1, 1, 5 );
//adds fake data to "allParts" arraylist
public void addData() {
allParts.add(part1);
}
public ObservableList<Part> getPartData() {
return allParts;
}
InHousePart 类
public class InHousePart extends Part{
//constructors
private IntegerProperty machineID;
public IntegerProperty getMachineID() {
return machineID;
}
public void setMachineID(IntegerProperty machineID) {
this.machineID = machineID;
}
//constructor
public InHousePart(IntegerProperty machineID, IntegerProperty partID, StringProperty name, DoubleProperty price, IntegerProperty inStock, IntegerProperty min, IntegerProperty max) {
super(partID, name, price, inStock, min, max);
this.machineID = machineID;
}
零件类
public abstract class Part {
private IntegerProperty partID;
private StringProperty name;
private DoubleProperty price;
private IntegerProperty inStock;
private IntegerProperty min;
private IntegerProperty max;
public IntegerProperty getPartID() {
return partID;
}
public void setPartID(IntegerProperty partID) {
this.partID = partID;
}
public StringProperty getName() {
return name;
}
public void setName(StringProperty name) {
this.name = name;
}
public DoubleProperty getPrice() {
return price;
}
public void setPrice(DoubleProperty price) {
this.price = price;
}
public IntegerProperty getInStock() {
return inStock;
}
public void setInStock(IntegerProperty inStock) {
this.inStock = inStock;
}
public IntegerProperty getMin() {
return min;
}
public void setMin(IntegerProperty min) {
this.min = min;
}
public IntegerProperty getMax() {
return max;
}
public void setMax(IntegerProperty max) {
this.max = max;
}
//constructor
public Part(IntegerProperty partID, StringProperty name, DoubleProperty price, IntegerProperty inStock, IntegerProperty min, IntegerProperty max) {
this.partID = partID;
this.name = name;
this.price = price;
this.inStock = inStock;
this.min = min;
this.max = max;
}
}
【问题讨论】:
-
你真的希望
1会自动装箱到IntegerProperty吗? -
java fx 游戏新手#beginner