• javafx ComboBox Event and change cell color


    public class EffectTest extends Application {
    public static void main(String[] args) {
        launch(args);
      }
    
      @Override
      public void start(Stage stage) {
        stage.setTitle("ComboBoxSample");
        Scene scene = new Scene(new Group(), 450, 250);
    
        ComboBox emailComboBox = new ComboBox();
        emailComboBox.getItems().addAll("A","B","C","D","E");
        
            emailComboBox.setPromptText("Email address");
        emailComboBox.setEditable(true);        
        emailComboBox.valueProperty().addListener(new ChangeListener<String>() {
            @Override public void changed(ObservableValue ov, String t, String t1) {
              System.out.println(ov);
                System.out.println(t);
                System.out.println(t1);
            }    
        });
        
        emailComboBox.setCellFactory(
            new Callback<ListView<String>, ListCell<String>>() {
                @Override public ListCell<String> call(ListView<String> param) {
                    final ListCell<String> cell = new ListCell<String>() {
                        {
                            super.setPrefWidth(100);
                        }    
                        @Override public void updateItem(String item, 
                            boolean empty) {
                                super.updateItem(item, empty);
                                if (item != null) {
                                    setText(item);    
                                    if (item.contains("A")) {                                    
                                        setTextFill(Color.RED);
                                    }
                                    else if (item.contains("B")){
                                        setTextFill(Color.GREEN);
                                    }
                                    else {
                                        setTextFill(Color.BLACK);
                                    }
                                }
                                else {
                                    setText(null);
                                }
                            }
                };
                return cell;
            }
                        
        });
        
        GridPane grid = new GridPane();
        grid.setVgap(4);
        grid.setHgap(10);
        grid.setPadding(new Insets(5, 5, 5, 5));
        grid.add(new Label("To: "), 0, 0);
        grid.add(emailComboBox, 1, 0);
        
        
        Group root = (Group) scene.getRoot();
        root.getChildren().add(grid);
        stage.setScene(scene);
        stage.show();
    
      }
      
    }
  • 相关阅读:
    jquery UI_tabs
    乔布斯传
    微信小程序
    天气预报相关参数
    ASP.NET MVC TempData使用心得
    jquery.restrictFieldLength.js
    join Linq
    SQL_关联映射
    介绍几个好用的vs插件
    DependencyResolver.Current
  • 原文地址:https://www.cnblogs.com/rojas/p/4720840.html
Copyright © 2020-2023  润新知