public JFXTextAreaSkin(JFXTextArea textArea) { super(textArea); // init text area properties scrollPane = (ScrollPane) getChildren().get(0); textArea.setWrapText(true); linesWrapper = new PromptLinesWrapper<>( textArea, super.promptTextFill, textArea.textProperty(), textArea.promptTextProperty(), () -> promptText); linesWrapper.init(() -> createPromptNode(), scrollPane); errorContainer = new ValidationPane<>(textArea); getChildren().addAll(linesWrapper.line, linesWrapper.focusedLine, linesWrapper.promptContainer, errorContainer); registerChangeListener(textArea.disableProperty(), "DISABLE_NODE"); registerChangeListener(textArea.focusColorProperty(), "FOCUS_COLOR"); registerChangeListener(textArea.unFocusColorProperty(), "UNFOCUS_COLOR"); registerChangeListener(textArea.disableAnimationProperty(), "DISABLE_ANIMATION"); }
@Override public List<CssMetaData<? extends Styleable, ?>> getControlCssMetaData() { if (STYLEABLES == null) { final List<CssMetaData<? extends Styleable, ?>> styleables = new ArrayList<>( Control.getClassCssMetaData()); styleables.addAll(getClassCssMetaData()); styleables.addAll(TextArea.getClassCssMetaData()); STYLEABLES = Collections.unmodifiableList(styleables); } return STYLEABLES; }
private void initialize() { this.getStyleClass().add(DEFAULT_STYLE_CLASS); if ("dalvik".equals(System.getProperty("java.vm.name").toLowerCase())) { this.setStyle("-fx-skin: \"com.jfoenix.android.skins.JFXTextAreaSkinAndroid\";"); } }
javafxTextArea.setPromptText("JavaFX Text Area"); main.getChildren().add(javafxTextArea); JFXTextArea jfxTextArea = new JFXTextArea(); jfxTextArea.setPromptText("JFoenix Text Area :D"); jfxTextArea.setLabelFloat(true); .styleClass("error") .build()); jfxTextArea.getValidators().add(validator); jfxTextArea.focusedProperty().addListener((o, oldVal, newVal) -> { if (!newVal) { jfxTextArea.validate();
@Override public StyleableBooleanProperty getStyleableProperty(JFXTextArea control) { return control.disableAnimationProperty(); } };
@Override public StyleableBooleanProperty getStyleableProperty(JFXTextArea control) { return control.labelFloatProperty(); } };
/** * {@inheritDoc} */ public JFXTextArea() { initialize(); }
promptText.getTransforms().add(linesWrapper.promptTextScale); linesWrapper.promptContainer.getChildren().add(promptText); if (getSkinnable().isFocused() && ((JFXTextArea) getSkinnable()).isLabelFloat()) { promptText.setTranslateY(-Math.floor(scrollPane.getHeight())); linesWrapper.promptTextScale.setX(0.85);
@Override public StyleableProperty<Paint> getStyleableProperty(JFXTextArea control) { return control.focusColorProperty(); } };
/** * Constructor */ public InputTextarea() { super(); textArea = new JFXTextArea(); }
public final void setDisableAnimation(final Boolean disabled) { this.disableAnimationProperty().set(disabled); }
public final void setLabelFloat(final boolean labelFloat) { this.labelFloatProperty().set(labelFloat); }
/** * {@inheritDoc} */ public JFXTextArea(String text) { super(text); initialize(); }
promptText.getTransforms().add(linesWrapper.promptTextScale); linesWrapper.promptContainer.getChildren().add(promptText); if (getSkinnable().isFocused() && ((JFXTextArea) getSkinnable()).isLabelFloat()) { promptText.setTranslateY(-Math.floor(scrollPane.getHeight())); linesWrapper.promptTextScale.setX(0.85);
@Override public StyleableProperty<Paint> getStyleableProperty(JFXTextArea control) { return control.focusColorProperty(); } };
public JFXTextAreaSkinAndroid(JFXTextArea textArea) { super(textArea); // init text area properties scrollPane = (ScrollPane) getChildren().get(0); textArea.setWrapText(true); linesWrapper = new PromptLinesWrapper<>( textArea, super.promptTextFill, textArea.textProperty(), textArea.promptTextProperty(), () -> promptText); linesWrapper.init(() -> createPromptNode(), scrollPane); errorContainer = new ValidationPane<>(textArea); getChildren().addAll(linesWrapper.line, linesWrapper.focusedLine, linesWrapper.promptContainer, errorContainer); registerChangeListener(textArea.disableProperty(), "DISABLE_NODE"); registerChangeListener(textArea.focusColorProperty(), "FOCUS_COLOR"); registerChangeListener(textArea.unFocusColorProperty(), "UNFOCUS_COLOR"); registerChangeListener(textArea.disableAnimationProperty(), "DISABLE_ANIMATION"); }
private void initialize() { this.getStyleClass().add(DEFAULT_STYLE_CLASS); if ("dalvik".equals(System.getProperty("java.vm.name").toLowerCase())) { this.setStyle("-fx-skin: \"com.jfoenix.android.skins.JFXTextAreaSkinAndroid\";"); } }
public final Boolean isDisableAnimation() { return disableAnimation != null && this.disableAnimationProperty().get(); }
public final boolean isLabelFloat() { return this.labelFloatProperty().get(); }
/** * {@inheritDoc} */ public JFXTextArea() { initialize(); }