广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何使用CellFactory显示JavaFX组合框值?_北大青鸟IT学校

作者:邓华发布时间:2021-05-19分类:Java技术浏览:858


导读:如何使用CellFactory显示JavaFX组合框值?Java是现在非常主流的编程语言之一,很多人想转行学习Java。那么下面惠州北大青鸟老师给大家解答一下这个问题,希望对大家的学习有帮助。

如何使用CellFactory显示JavaFX组合框值?Java是现在非常主流的编程语言之一,很多人想转行学习Java。那么下面惠州北大青鸟老师给大家解答一下这个问题,希望对大家的学习有帮助。

实例

以下代码显示了如何使用CellFactory显示JavaFX组合框值。

//Revised from javafx api documentimport javafx.application.Application;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.ComboBox;import javafx.scene.control.ContentDisplay;import javafx.scene.control.ListCell;import javafx.scene.control.ListView;import javafx.scene.layout.GridPane;import javafx.scene.paint.Color;import javafx.scene.shape.Rectangle;import javafx.stage.Stage;import javafx.util.Callback;public class Main extends Application {  public static void main(String[] args) {
   Application.launch(args);
 }

 @Override  public void start(final Stage primaryStage) {
   Group root = new Group();
   Scene scene = new Scene(root, 400, 300, Color.WHITE);
   GridPane gridpane = new GridPane();
   ComboBox<Color> cmb = new ComboBox<Color>();
   cmb.getItems().addAll(Color.RED, Color.GREEN, Color.BLUE);
   cmb.setCellFactory(new Callback<ListView<Color>, ListCell<Color>>() {
     @Override      public ListCell<Color> call(ListView<Color> p) {        return new ListCell<Color>() {          private final Rectangle rectangle;
         {
           setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
           rectangle = new Rectangle(10, 10);
         }

         @Override          protected void updateItem(Color item, boolean empty) {
           super.updateItem(item, empty);            if (item == null || empty) {
             setGraphic(null);
           } else {
             rectangle.setFill(item);
             setGraphic(rectangle);
           }
         }
       };
     }
   });

   gridpane.add(cmb, 2, 0);

   root.getChildren().add(gridpane);
   primaryStage.setScene(scene);

   primaryStage.show();
 }

}

上面的代码生成以下结果。

JavaFX组合框8.png

想了解更多关于Java的知识,联系在线客服,或者来惠州北大青鸟新方舟校区了解一下。

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表