首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JTextField 限制输入字符数后,当输满时则无法修改了解决方案

2012-05-16 
JTextField 限制输入字符数后,当输满时则无法修改了大家可以运行下,当输满5个字符时,就不能通过鼠标框选后

JTextField 限制输入字符数后,当输满时则无法修改了
大家可以运行下,当输满5个字符时,就不能通过鼠标框选后修改了。(不过BackSpace还能用)
不知道有没有高手能解开这个问题。

Java code
public class Test2 extends JFrame {    JPanel pane;    JTextField text;    JLabel str;    public Test2() {        super("字符输入限制");        pane = new JPanel();        getContentPane().add(pane);        text = new JTextField(12);        str = new JLabel("最多可输入   5   个字符:");        text.addKeyListener(new KeyListener() {            public void keyTyped(KeyEvent e) {                if (text.getText().length() > 4 && e.getKeyChar() != '\b')                    e.setKeyChar('\0');            }            public void keyPressed(KeyEvent e) {            }            public void keyReleased(KeyEvent e) {            }        });        pane.add(str);        pane.add(text);    }    public static void main(String[] args) {        SwingConsole.run(new Test2(), 200, 200);    }}


[解决办法]
楼主,可以修改啊!我刚试过了
[解决办法]
楼上的问题很简单,你判断长度的时候,你要先把已选中的部分去掉 text.getSelectionText() 


 if (text.getText().length()-text.getSelectionText().length > 4 && e.getKeyChar() != '\b')
e.setKeyChar('\0');


结贴给分吧。

热点排行