Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8088606

-fx-font-style: italic doesnt work for TableView Cell

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 8u40
    • javafx
    • OSX Yosemite 10.10.2

      -fx-font-style: italic doesnt work for TableView Cells
      In the following example you can see that only the bold style will be applied and italic will be ignored.


      package helloworld;

      import javafx.application.Application;
      import javafx.beans.property.SimpleStringProperty;
      import javafx.collections.FXCollections;
      import javafx.collections.ObservableList;
      import javafx.geometry.Insets;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.control.TableCell;
      import javafx.scene.control.TableColumn;
      import javafx.scene.control.TableView;
      import javafx.scene.control.cell.PropertyValueFactory;
      import javafx.scene.layout.VBox;
      import javafx.stage.Stage;

      public class HelloWorld extends Application {

          private final TableView<Person> table = new TableView<>();
          private final ObservableList<Person> data =
                  FXCollections.observableArrayList(new Person("A", "B"), new Person("C", "D"), new Person("E", "F"));

          public static void main(String[] args) {
              launch(args);
          }

          @Override
          public void start(Stage stage) {
              Scene scene = new Scene(new Group());
              stage.setWidth(450);
              stage.setHeight(550);


              TableColumn firstNameCol = new TableColumn("First Name");
              firstNameCol.setMinWidth(100);
              firstNameCol.setCellValueFactory(
                      new PropertyValueFactory<>("firstName"));

              TableColumn lastNameCol = new TableColumn("Last Name");
              lastNameCol.setMinWidth(100);
              lastNameCol.setCellValueFactory(
                      new PropertyValueFactory<>("lastName"));
              lastNameCol.setCellFactory(column -> {
                  return new TableCell<Person, String>() {
                      @Override
                      protected void updateItem(String item, boolean empty) {
                          super.updateItem(item, empty);

                          if (item == null || empty) {
                              setText(null);
                              setStyle("");
                          } else {
                              setText(item);
                              setStyle("-fx-font-style: italic; -fx-font-weight: bold;");
                          }
                      }
                  };
              });

              table.setItems(data);
              table.getColumns().addAll(firstNameCol, lastNameCol);

              final VBox vbox = new VBox();
              vbox.setSpacing(5);
              vbox.setPadding(new Insets(10, 0, 0, 10));
              vbox.getChildren().addAll(table);

              ((Group) scene.getRoot()).getChildren().addAll(vbox);

              stage.setScene(scene);
              stage.show();
          }

          public static class Person {

              private final SimpleStringProperty firstName;
              private final SimpleStringProperty lastName;

              private Person(String fName, String lName) {
                  this.firstName = new SimpleStringProperty(fName);
                  this.lastName = new SimpleStringProperty(lName);
              }

              public String getFirstName() {
                  return firstName.get();
              }

              public void setFirstName(String fName) {
                  firstName.set(fName);
              }

              public String getLastName() {
                  return lastName.get();
              }

              public void setLastName(String fName) {
                  lastName.set(fName);
              }
          }
      }

            Unassigned Unassigned
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Imported: