java jtextfield 限制输入字符个数?
有没有函数可以调用,还是必须自己写呢?如果是自己写,高手能给个例子吗?谢谢谢谢楼上的。我是用在计算器的文本里,写上这么长的判断代码,挺吓人的......
有没有函数可以调用,还是必须自己写呢?如果是自己写,高手能给个例子吗?谢谢
谢谢楼上的。我是用在计算器的文本里,写上这么长的判断代码,挺吓人的... 展开
谢谢楼上的。我是用在计算器的文本里,写上这么长的判断代码,挺吓人的... 展开
3个回答
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
import javax.swing.event.*;
public class DocumentTest extends JFrame
{
final static int docLength = 3;//表示可输入文本的最大长度
public DocumentTest()
{
super("DocumentTest");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-570)/2,(d.height-215)/2,570,215);
Document doc = new DefaultStyledDocument();
doc.addDocumentListener(new DocumentListener(){
public void insertUpdate(DocumentEvent e)
{
final Document document = e.getDocument();
if (document.getLength()>docLength)
{
try
{
new Thread(new Thread(){
public void run()
{
try
{
document.remove(1,document.getLength()-1);
}
catch (Exception exp)
{
System.out.println("Error: "+ exp.toString());
}
}
}).start();;
}
catch (Exception ex)
{
System.out.println("Error: "+ ex.toString());
}
}
}
public void removeUpdate(DocumentEvent e)
{}
public void changedUpdate(DocumentEvent e)
{
}
});
JTextArea area = new JTextArea(doc,"",30,40);
JPanel pane = new JPanel();
pane.add(area);
setContentPane(pane);
setVisible(true);
}
public static void main(String [] args)
{
new DocumentTest();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
import javax.swing.event.*;
public class DocumentTest extends JFrame
{
final static int docLength = 3;//表示可输入文本的最大长度
public DocumentTest()
{
super("DocumentTest");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width-570)/2,(d.height-215)/2,570,215);
Document doc = new DefaultStyledDocument();
doc.addDocumentListener(new DocumentListener(){
public void insertUpdate(DocumentEvent e)
{
final Document document = e.getDocument();
if (document.getLength()>docLength)
{
try
{
new Thread(new Thread(){
public void run()
{
try
{
document.remove(1,document.getLength()-1);
}
catch (Exception exp)
{
System.out.println("Error: "+ exp.toString());
}
}
}).start();;
}
catch (Exception ex)
{
System.out.println("Error: "+ ex.toString());
}
}
}
public void removeUpdate(DocumentEvent e)
{}
public void changedUpdate(DocumentEvent e)
{
}
});
JTextArea area = new JTextArea(doc,"",30,40);
JPanel pane = new JPanel();
pane.add(area);
setContentPane(pane);
setVisible(true);
}
public static void main(String [] args)
{
new DocumentTest();
}
}
展开全部
可以设置他的最大字符长度的阿。但是那样只能限制用户输入的字符个数,不能限制程序设置的字符个数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要自己这个类,可以这样,用documentlistener监听文本长度,如果大于规定长度则给出提示.我这手机上,不能帮你写了,自己写试试吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询