2014-12-10 4 views
0

Итак, у меня есть представление tableview в JavaFX, и я понимаю, как отформатировать все об этом, кроме глобального фона. В принципе, я хочу, чтобы табличное представление отображалось, а текст был отформатирован с цветами и таким, что я использовал файловые ячейки для их форматирования, но я хочу, чтобы фон tableview был изображением, которое у меня есть. Есть ли способ разместить большое фоновое изображение на самом табло? Я попытался сделать прозрачность клеток ячейки, и это тоже не помогло. Вот фрагмент моего кода.JavaFX TableView background image

Callback<TableColumn<TransactionWrapper, String>, TableCell<TransactionWrapper, String>> searchHighlight = 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) 
        { 
         setStyle("-fx-background-color:transparent"); 
         setText(item); 
        } 
       } 
      }; 
     } 
    }; 

Это обратный вызов, который я использую в своих ячейках для их динамического форматирования.

#transactionList 
{ 
    -fx-background-image: url("file:/C:/Money/images/transactionsBG.jpg"); 
} 

Это CSS, который я использую, чтобы создать его с фоном изображения. transactionList - это идентификатор fx в таблице. Я не получаю никаких ошибок в трассировке стека с поиском изображения или что-то в этом роде, но фон просто не появляется.

Любая помощь будет оценена по достоинству. Спасибо всем!

Jon

ответ

1

Чтобы просмотреть изображение в фоновом режиме, вам нужно добавить это в файл CSS:

.table-row-cell { 
    -fx-background-color: transparent; 
} 

Моделирование для ячеек не является необходимым.