相关疑难解决方法(0)

如何限制JTextField中的字符数?

如何限制在JTextField中输入的字符数?

假设我想输入最多5个字符.之后,不能输入任何字符.

java swing

28
推荐指数
5
解决办法
10万
查看次数

如何将掩码格式应用于TextField?

我正在创建一些表单,我需要为某些字段创建掩码和验证.

它是否在JavaFX中实现?

javafx-2

11
推荐指数
1
解决办法
2万
查看次数

如何禁用文本字段上的默认上下文菜单

默认情况下,JavaFX TextField内置ContextMenu了"撤消","复制","剪切"等选项.该ComboBox也具有同样的ContextMenu,当它被设置为可编辑(的ComboBox其实是这是一个编辑器的一部分TextField).

我想ContextMenu用自定义替换它,但我遇到了禁用默认问题的问题.

我试图消耗ContextMenu和鼠标点击事件,但ComboBoxComboBox.getEditor()都有空ContextMenu.

我错过了什么吗?

default contextmenu textedit javafx-2

6
推荐指数
2
解决办法
6359
查看次数

限制JavaFX TextField的字符数会导致撤消时出现IndexOutOfBounds

我要求限制用户可以输入到TextFieldJavaFX控件中的字符数.我已经延长TextField,像这样

public class LengthLimitedTextField extends TextField {
    /**
     * @param maxCharacters The max allowed characters that can be entered into this {@link TextField}.
     */
    public LengthLimitedTextField(final int maxCharacters) {
        final TextField thisField = this;
        this.textProperty().addListener(new ChangeListener<String>() {
            @Override
            public void changed(ObservableValue<? extends String> observable,
                                String oldValue, String newValue) {
                // Force correct length by deleting the last entered character if text is longer than maxCharacters
                if (newValue.length() > maxCharacters) {
                    thisField.deleteNextChar();
                }
            }
        });
    }
} …
Run Code Online (Sandbox Code Playgroud)

java text indexoutofboundsexception javafx-2 javafx-8

6
推荐指数
2
解决办法
5890
查看次数

如何使用javafx textfield maxlength

如何在我的主类javafx中使用此代码.这样我就可以在javafx texfield中设置字符的最大长度.

class LimitedTextField extends TextField {

    private final int limit;

    public LimitedTextField(int limit) {
        this.limit = limit;
    }

    @Override
    public void replaceText(int start, int end, String text) {
        super.replaceText(start, end, text);
        verify();
    }

    @Override
    public void replaceSelection(String text) {
        super.replaceSelection(text);
        verify();
    }

    private void verify() {
        if (getText().length() > limit) {
            setText(getText().substring(0, limit));
        }

    }
};
Run Code Online (Sandbox Code Playgroud)

我的java fx主类如下所示

public class TextFiled extends Application {
        @Override
    public void start(Stage primaryStage) {

           final TextField t_fname = new TextField();


        StackPane root = …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2 javafx-8

5
推荐指数
3
解决办法
8572
查看次数

JavaFX TextField - 只允许输入一个字母

我正在尝试用 JavaFX 制作一款数独游戏,但我不知道如何只允许输入一个字母。答案是调用文本字段并执行以下操作:

myTextField.setOnKeyPressed(e ->
{
    if (!myTextField.getText().length().isEmpty())
    {
        // Somehow reject the key press?
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的方法不适用于复制粘贴...或大量其他东西等等。使用像这样的按键侦听器似乎是一个糟糕的主意。一定有更好的东西吗?文本字段是否有一个属性只允许输入某些字符,或者只允许输入一定数量的字符?

谢谢你!

java user-interface javafx textfield

5
推荐指数
1
解决办法
4069
查看次数