--- old/modules/controls/src/main/java/com/sun/javafx/scene/control/skin/InputField.java 2015-09-03 15:16:07.358324300 -0700 +++ /dev/null 2015-09-03 15:16:08.000000000 -0700 @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2012, 2013, 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.skin; - -import javafx.beans.property.*; -import javafx.event.ActionEvent; -import javafx.event.EventHandler; -import javafx.scene.control.Control; - -/** - * - */ -abstract class InputField extends Control { - /** - * 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. - */ - 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 {@code InputField}'s prompt text to display, or - * null 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 {@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. - */ - private ObjectProperty> onAction = new ObjectPropertyBase>() { - @Override protected void invalidated() { - setEventHandler(ActionEvent.ACTION, get()); - } - - @Override public Object getBean() { return InputField.this; } - @Override public String getName() { return "onAction"; } - }; - public final ObjectProperty> onActionProperty() { return onAction; } - public final EventHandler getOnAction() { return onActionProperty().get(); } - public final void setOnAction(EventHandler value) { onActionProperty().set(value); } - - /** - * 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(); -// } -} --- /dev/null 2015-09-03 15:16:08.000000000 -0700 +++ new/modules/controls/src/main/java/com/sun/javafx/scene/control/InputField.java 2015-09-03 15:16:06.610281500 -0700 @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2012, 2013, 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 {@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. + */ + 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 {@code InputField}'s prompt text to display, or + * null 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 {@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. + */ + private ObjectProperty> onAction = new ObjectPropertyBase>() { + @Override protected void invalidated() { + setEventHandler(ActionEvent.ACTION, get()); + } + + @Override public Object getBean() { return InputField.this; } + @Override public String getName() { return "onAction"; } + }; + public final ObjectProperty> onActionProperty() { return onAction; } + public final EventHandler getOnAction() { return onActionProperty().get(); } + public final void setOnAction(EventHandler value) { onActionProperty().set(value); } + + /** + * 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(); +// } +}