gpt4 book ai didi

java - 找不到符号 - javax.swing.JTextField.getDocument().setDocumentFilter(javax.swing.text.DocumentFilter)

转载 作者:行者123 更新时间:2023-11-29 03:22:25 24 4
gpt4 key购买 nike

我正在使用 BlueJ,并且有两个类。

public class mainMenu extends JFrame
{
ArrayList<String> one=new ArrayList<String>();
ArrayList<String> zero=new ArrayList<String>();
public static void main(String[] args){
mainMenu m=new mainMenu();
}

public mainMenu(){
JPanel p=new JPanel();
JTextField idOne=new JTextField(4);
DocumentFilter fOne=new LengthFilter();
idOne.getDocument().setDocumentFilter(fOne);
}
}

class LengthFilter extends DocumentFilter{
private int max=4;

public void insertString(DocumentFilter.FilterBypass fb, int offset,String text, AttributeSet attr) throws BadLocationException {
if (fb.getDocument().getLength() + text.length() <= max){
fb.insertString(offset, text, attr);
}else {
Toolkit.getDefaultToolkit().beep();
}
}

public void replace(DocumentFilter.FilterBypass fb, int offset, int length,
String text, AttributeSet attr) throws BadLocationException {
if (fb.getDocument().getLength() + text.length() - length <= max){
fb.replace(offset, length, text, attr);
}else {
Toolkit.getDefaultToolkit().beep();
}
}
}

当我尝试编译第一个类时,出现编译错误:

cannot find symbol - method setDocumentFilter(javax.swing.text.DocumentFilter)

为什么以及如何解决这个问题?

最佳答案

setDocumentFilter 未定义 Document类(class)。你需要

DocumentFilter filter = new LengthFilter();
((AbstractDocument)idOneTextField.getDocument()).setDocumentFilter(filter);

关于java - 找不到符号 - javax.swing.JTextField.getDocument().setDocumentFilter(javax.swing.text.DocumentFilter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22817370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com