/*
 * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.sun.javafx.scene.control;

import javafx.beans.property.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Control;

/**
 *
 */
public abstract class InputField extends Control {
    
The default value for prefColumnCount.
/** * The default value for {@link #prefColumnCount}. */
public static final int DEFAULT_PREF_COLUMN_COUNT = 12;
Indicates whether this InputField can be edited by the user. If true, the "readonly" pseudo class will be false, but if false, the "readonly" pseudo class will be true.
/** * Indicates whether this InputField can be edited by the user. If true, the * "readonly" pseudo class will be false, but if false, the "readonly" * pseudo class will be true. */
private BooleanProperty editable = new SimpleBooleanProperty(this, "editable", true); public final boolean isEditable() { return editable.getValue(); } public final void setEditable(boolean value) { editable.setValue(value); } public final BooleanProperty editableProperty() { return editable; }
The InputField's prompt text to display, or null if no prompt text is displayed.
/** * The {@code InputField}'s prompt text to display, or * <tt>null</tt> if no prompt text is displayed. */
private StringProperty promptText = new StringPropertyBase("") { @Override protected void invalidated() { // Strip out newlines String txt = get(); if (txt != null && txt.contains("\n")) { txt = txt.replace("\n", ""); set(txt); } } @Override public Object getBean() { return InputField.this; } @Override public String getName() { return "promptText"; } }; public final StringProperty promptTextProperty() { return promptText; } public final String getPromptText() { return promptText.get(); } public final void setPromptText(String value) { promptText.set(value); }
The preferred number of text columns. This is used for calculating the InputField's preferred width.
/** * The preferred number of text columns. This is used for * calculating the {@code InputField}'s preferred width. */
private IntegerProperty prefColumnCount = new IntegerPropertyBase(DEFAULT_PREF_COLUMN_COUNT) { private int oldValue = get(); @Override protected void invalidated() { int value = get(); if (value < 0) { if (isBound()) { unbind(); } set(oldValue); throw new IllegalArgumentException("value cannot be negative."); } oldValue = value; } @Override public Object getBean() { return InputField.this; } @Override public String getName() { return "prefColumnCount"; } }; public final IntegerProperty prefColumnCountProperty() { return prefColumnCount; } public final int getPrefColumnCount() { return prefColumnCount.getValue(); } public final void setPrefColumnCount(int value) { prefColumnCount.setValue(value); }
The action handler associated with this InputField, or null if no action handler is assigned. The action handler is normally called when the user types the ENTER key.
/** * The action handler associated with this InputField, or * <tt>null</tt> if no action handler is assigned. * * The action handler is normally called when the user types the ENTER key. */
private ObjectProperty<EventHandler<ActionEvent>> onAction = new ObjectPropertyBase<EventHandler<ActionEvent>>() { @Override protected void invalidated() { setEventHandler(ActionEvent.ACTION, get()); } @Override public Object getBean() { return InputField.this; } @Override public String getName() { return "onAction"; } }; public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty() { return onAction; } public final EventHandler<ActionEvent> getOnAction() { return onActionProperty().get(); } public final void setOnAction(EventHandler<ActionEvent> value) { onActionProperty().set(value); }
Creates a new InputField. The style class is set to "money-field".
/** * Creates a new InputField. The style class is set to "money-field". */
public InputField() { getStyleClass().setAll("input-field"); } // @Override protected String getUserAgentStylesheet() { // return getClass().getResource("InputField.css").toExternalForm(); // } }