欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java,

来源: javaer 分享于  点击 38327 次 点评:240

java,


一个简单的设置java swing输入框 text field 字符数目限制的 代码(2010-12-28 12:04:59)转载▼标签: it 分类: JAVA
开始觉得只是 和html页面一样 设置一个属性就好了, 结果发现俺错了, 呵呵.

swing里面的输入框长度限制需要靠 Document来完成,呵呵, 或者自己侦听鼠标的事件 , 俺这里用的是前者:


import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;


public class JTextFieldLimit extends PlainDocument {
private int limit;
// optional uppercase conversion
private boolean toUppercase = false;

JTextFieldLimit(int limit) {
super();
this.limit = limit;
}

JTextFieldLimit(int limit, boolean upper) {
super();
this.limit = limit;
toUppercase = upper;
}

public void insertString
(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null) return;

if ((getLength() + str.length()) <= limit) {
if (toUppercase) str = str.toUpperCase();
super.insertString(offset, str, attr);
}
}
}


import java.awt.*;
import javax.swing.*;

public class DemoJTextFieldWithLimit extends JApplet{
JTextField textfield1;
JLabel label1;

public void init() {
getContentPane().setLayout(new FlowLayout());
//
label1 = new JLabel("max 10 chars");
textfield1 = new JTextField(15);
getContentPane().add(label1);
getContentPane().add(textfield1);
textfield1.setDocument
(new JTextFieldLimit(10));
}

相关文章

    暂无相关文章
相关栏目:

用户点评