0
我創建了一個ListView,它根據對象字段動態繪製一個特定顏色的圓。單元格可以有三個狀態,導出,具有必填信息,也沒有。前兩個他們有自己的圓圈顏色,我想「沒有任何一個」來實現他們的圖形兩個圓圈。問題是你只能爲單元格設置一個圖形。如何創建一個帶有兩個圓圈的形狀?
我試圖找到一種解決方法,通過改變圓的的centerX和他們兩個用Shape.union,但只顯示circEx。有什麼辦法可以實現這個嗎?
listView.setCellFactory(new Callback<ListView<BusinessCard>, ListCell<BusinessCard>>(){
@Override
public ListCell<BusinessCard> call(ListView<BusinessCard> list){
return new ColorCell();
}
});
//Colors circled that indicates status of card on listView
static class ColorCell extends ListCell<BusinessCard> {
@Override
public void updateItem(BusinessCard item, boolean empty) {
super.updateItem(item, empty);
//Probably should have one circle and setFil in if statements
Circle circMan = new Circle(0,0,3,Color.web("#ff9999"));
Circle circEx = new Circle(10,0,3,Color.web("#808080")); // old #e1eaea
Circle circDone = new Circle(0,0,3,Color.web("#99ff99")); //old #99ff99
if(item != null){
setTextFill(Color.BLACK);
setText(item.toString());
if(item.wasExported() && !item.hasMand()){
setGraphic(Shape.union(circMan, circEx)); //TODO
}
else if(item.wasExported()){
setGraphic(circEx);
}
else if(!item.hasMand()){
setGraphic(circMan);
}
else{
setGraphic(circDone);
}
}
}
}
你能製作一個半圈的顏色嗎? – trashgod
嗯,我,看看我是否能有兩個圓弧,並創建兩個聯盟之間的形狀雖然我想這兩個圓我想這將不得不這樣做。 – Javant