相关疑难解决方法(0)

JavaFX 2.2 TextField maxlength

我正在使用JavaFX 2.2项目,我使用TextField控件时遇到问题.我想限制用户将输入到每个TextField的字符,但我找不到像maxlength这样的属性.摆动存在同样的问题,并以这种方式解决.如何解决JavaFX 2.2?

java javafx maxlength textfield javafx-2

12
推荐指数
3
解决办法
4万
查看次数

如何将JTextField限制为ax个字符数

我必须限制JTextField中的字符数.我使用以下代码来做到这一点,但问题是我使用虚拟键盘将数据提供给JTextField.因此偏移量始终设置为0.当我输入超过指定数量的字符时,它会重置字段并从头开始执行.例如,如果我的限制是3个字符并且我进入xyz0我的有限文本框,则读取字符z,然后清除该字段并重新启动.所以我留0在了现场.代码如下.

  public class JTextFieldLimit extends PlainDocument {
  private int limit;  
  public JTextFieldLimit(int limit) {  
   super();  
   this.limit = limit;  
   }  
    @Override  
  public void insertString( int offset, String  str, AttributeSet attr ) throws   BadLocationException {  
    if (str == null) return;  
            System.out.println("from document helper getLength():"+getLength());  
            System.out.println("from document helper str.length():"+str.length());  
            System.out.println("from document helper str:"+str);  
            System.out.println("from document helper attr:"+attr);  
            System.out.println("from document helper offset:"+offset);  
    if ((getLength() + str.length()) <= limit) {  
      super.insertString(offset, str, attr);  
    }  
  }  
}  
Run Code Online (Sandbox Code Playgroud)

java swing jtextfield

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

限制数字输入JTextField

我工作的一个数独解算器,我试图限制量的数字,用户可以进入细胞,以及只能够输入数字,目前还接受信件.它的工作原理如下:如果用户输入"11125455876",它将只使用输入的最后一个数字(在本例中为"6").我想将用户可以输入单个单元格的数量限制为1,并且只接受数字1-9.我不确定我该怎么做.所以也许它只会覆盖以前的数字或者其他东西,如果我按一个字母键作为"a"就不会发生任何事情.

这是我的代码:

public PanelGUI(int size) {

    super(size);
    NumberFormat f = NumberFormat.getInstance();
    f.setMaximumIntegerDigits(1);
    f.setMinimumIntegerDigits(0);
    f.setGroupingUsed(false);
    cells = new JTextField[size][size];
    panel.setLayout(new GridLayout(size, size));
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            cells[i][j] = new JFormattedTextField(f);
            cells[i][j].setEditable(true);
            cells[i][j].setFont(boldFont);
            cells[i][j].setBorder(BorderFactory.createMatteBorder(1, 1, 1,
                    1, Color.white));
            cells[i][j].setHorizontalAlignment(JTextField.CENTER);
            panel.add(cells[i][j]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用number format.

java swing limit jtextfield

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

如何限制Java中JPasswordField的位数?

我的Java代码在Eclipse中工作,但我需要添加一些功能.

首先,如何限制用户可以输入的位数?实际上我有一个JPasswordField让一个人输入一个pin代码,我希望这个JPasswordField最多限制为4位数.那么如何在输入4位数后立即停止输入?

然后,我如何玩JPassword框的大小?有没有办法像JTextField一样修改它?因为我的行"p1.setPreferredSize(new Dimension(100,25));" 似乎并没有真正让我修改盒子的大小.

在此输入图像描述

如您所见,JPassworldField框具有默认大小,我无法弄清楚如何轻松修改.

这是我的代码:

package codePin;

import java.io.*;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Main extends JFrame {

    private static final long serialVersionUID = 1L;

    private JPanel container = new JPanel();
    private JPasswordField p1 = new JPasswordField(4);
    private JLabel label = new JLabel("Enter Pin: ");
    private JButton b = new JButton("OK");

    public Main() {
        this.setTitle("NEEDS");
        this.setSize(300, 500);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);

        container.setBackground(Color.white);
        container.setLayout(new BorderLayout());
        JPanel top = new JPanel();
        p1.setPreferredSize(new Dimension(100, 25)); //How …
Run Code Online (Sandbox Code Playgroud)

java security passwords swing limit

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