2012-04-03 220 views
2

我想在文本字段中显示一个掩码。我怎样才能做到这一点?有没有可重用的Java库来做到这一点?我想创建一个仅允许输入八位数的文本字段(每个数字应该为0或1)如何在jtextfield中显示掩码?

例如,

enter image description here

+0

也许['JFormattedTextField'](http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html)? – trashgod 2012-04-03 14:34:01

+0

你也可以使用JPasswordField。看到这里:http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JPasswordField.html – Zack 2012-04-03 14:35:32

+0

据我所知JFormattedTextFiled不显示掩码。不是吗? – Sachindra 2012-04-03 14:40:37

回答

2

这将创建一个蒙面文本字段。当你按下输入键时,它将输出用户输入的内容。这使用JPasswordField。 http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JPasswordField.html

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

public class PasswordField1 extends JApplet implements ActionListener { 
    /* Declaration */ 
    private JPasswordField Input; 
    private JTextField Echo; 
    private Container Panel; 
    private LayoutManager Layout; 

    public PasswordField1() { 
    /* Instantiation */ 
    Input = new JPasswordField ("", 20); 
    Layout = new FlowLayout(); 
    Panel = getContentPane(); 

    /* Location */ 
    Panel.setLayout (Layout); 
    Panel.add (Input); 

    /* Configuration */ 
    Input.addActionListener (this); 
    } 

    public void actionPerformed (ActionEvent e) { 
    char [] Chars; 
    String Word; 
    Chars = Input.getPassword(); 
    Word = new String(Chars); 
    System.out.println("You Entered: " + Word); 
    } 
} 
+0

非常感谢。但每个数字应该是0或1.我怎么能实现这个目标? – Sachindra 2012-04-03 14:59:04

+0

面具应该是0s和1s? – Zack 2012-04-03 15:08:30

+0

是的它应该是0s和1s – Sachindra 2012-04-03 15:09:41