TransactionWrapper라는 클래스가 있습니다. 내 응용 프로그램에서 TableView에 대한 ObservableList를 채우는 데 사용하고 있습니다. 이 랩퍼에는 인출인지 보증인인지를 나타내는 속성 (enum)이 있습니다. 금액 셀을 렌더링/포맷 (거래의 성격에 따라 빨강 또는 초록색으로 표시)하려면 해당 항목으로 이동해야하며 해당 전투에서 저를 돕는 것을 찾지 못합니다.JavaFX TableView : 행의 다른 값을 기반으로 한 셀 서식 지정
기본적으로 내가하고 싶은 것은 행을보고 유형이 철수하면 텍스트를 빨간색으로 표시하고 예금 색상 인 경우 녹색으로 표시합니다. 여기 누군가가 나를 도와 줄 수 있기를 바랍니다. . 나는 다른 곳에서 발견 한 것과 같이 setCellFactory를 사용하여 내 시도에서 그 아래에 게시 할 것이다. 이 방법을 사용하면 셀의 서식을 지정하고 표시 방법을 변경할 수 있지만 문제는 updateItem 함수 내부에 있으므로 트랜잭션 유형에 대한 내 값을 얻을 수 있습니다.
amountCol.setCellFactory(new Callback<TableColumn<TransactionWrapper, String>, TableCell<TransactionWrapper, String>>()
{
@Override
public TableCell<TransactionWrapper, String> call(
TableColumn<TransactionWrapper, String> param)
{
return new TableCell<TransactionWrapper, String>()
{
@Override
protected void updateItem(String item, boolean empty)
{
if (!empty)
{
// should be something like (transaction.getType().equals(TransactionTypes.DEPOSIT) ? true : false;)
boolean isDeposit = true;
setText(item);
if(isDeposit) // should be if type is deposit
{
setTextFill(Color.GREEN);
}
else
{
setTextFill(Color.RED);
}
}
}
};
}
});
그리고 여기에 내가 내 열을 설정 해요 방법은 다음 FOL와 TransactionWrapper라는 개체의 오프 실행
amountCol.setCellValueFactory(cellData -> cellData.getValue().getAmountString());
이에
private final StringProperty transactionTypeString;
private final StringProperty dateString;
private final StringProperty amountString;
private final StringProperty payeeString;
private final StringProperty categoryString;
private final StringProperty notesString;
private Transaction transaction;
어떤 아이디어 것 많이 감사하겠습니다. : D
덕분에, 존
'getTableRow(). getItem(). getDeposit()'을 사용해보십시오. –