2013-11-12 4 views
0

У меня такая же проблема, как в JavaFX TableView text alignment, но старое решение не работает с JavaFX 8. С приведенным ниже кодом ячейки окрашены в красный цвет, но выравнивание по-прежнему остается. «-fx-text-alignment» также не работает.JavaFX 8 TableView Text Alignment

main.fxml (отношение фрагмент)

<AggregatorTableView id="aggregators"/> 

styles.css

#aggregators .table-cell { 
    -fx-alignment: CENTER-RIGHT; 
    -fx-background-color: red; 
} 

AggregatorTableView.java

public class AggregatorTableView extends TableView<Aggregator> { 
    public AggregatorTableView() { 
     TableColumn<Aggregator, Boolean> activeCol = new TableColumn<>("Active?"); 
     TableColumn<Aggregator, String> nameCol = new TableColumn<>("Name"); 
     TableColumn<Aggregator, String> resourceCol = new TableColumn<>("Resource"); 
     TableColumn<Aggregator, String> versionCol = new TableColumn<>("Version"); 
     activeCol.setCellValueFactory(cdf -> cdf.getValue().isActive()); 
     activeCol.setCellFactory(CheckBoxTableCell.forTableColumn(activeCol)); 
     activeCol.setOnEditCommit(e -> e.getRowValue().isActive().set(e.getNewValue())); 
     nameCol.setCellValueFactory(cdf -> new SimpleStringProperty(cdf.getValue().getName())); 
     resourceCol.setCellValueFactory(cdf -> new SimpleStringProperty(cdf.getValue().getResource())); 
     versionCol.setCellValueFactory(cdf -> new SimpleStringProperty(cdf.getValue().getVersion())); 
     getColumns().addAll(activeCol, nameCol, resourceCol, versionCol); 
     setEditable(true); 
     setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 
     getItems().add(new Aggregator() { 
      private BooleanProperty isActive = new SimpleBooleanProperty(true); 
      @Override public String getName() { return "test"; } 
      @Override public String getVersion() { return "0.0.1"; } 
      @Override public String getResource() { return "test.org"; } 
      @Override public List<DataItem> receiveData() { return null; } 
      @Override public BooleanProperty isActive() { return isActive; } 
     }); 
    } 
} 
+1

Я сталкиваюсь с аналогичными проблемами: http://stackoverflow.com/questions/19918636/tablecell-not-applied-consistently. Опубликовали на jira: https://javafx-jira.kenai.com/browse/RT-33372?focusedCommentId=368263&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-368263 в комментариях. – assylias

ответ

0

Решение, упомянутое @UlukBiy (здесь: JavaFX TableView text alignment) работает для моего, и я использую javaFX8.

Я только что определили мой Tableview в FXML так:

<TableView> 
<columns> 
    <TableColumn fx:id="couponHash" text="Kortingscode"> 
    <cellValueFactory><PropertyValueFactory property="hashID" /></cellValueFactory> 
    </TableColumn> 
    <TableColumn fx:id="couponTimeCreated" text="Aangemaakt op"> 
    <cellValueFactory><PropertyValueFactory property="timestampCreated" /></cellValueFactory> 
    </TableColumn> 
</columns> 
</TableView> 

Файл FXML подключен к CSS файл, в котором я только вставленной этот класс стиля:

.table-cell { 
    -fx-alignment: CENTER-RIGHT; 
} 

Это работает для меня с JavaFX8. Пожалуйста, дайте мне знать, если это сработает для вас.

Смежные вопросы