2012-04-03 5 views
2

Ich möchte eine Maske in einem Textfeld anzeigen. Wie kann ich das machen? Gibt es eine wiederverwendbare Java-Bibliothek, um das zu tun? Ich möchte ein Textfeld erstellen, das nur die Eingabe von acht Ziffern erlaubt (jede Ziffer sollte entweder 0 oder 1 sein)Wie wird eine Maske in jtextfield angezeigt?

z.

enter image description here

+0

Vielleicht [ 'JFormattedTextField'] (http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html)? – trashgod

+0

Sie könnten auch JPasswordField verwenden. Siehe hier: http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JPasswordField.html – Zack

+0

Soweit ich weiß, JFormattedTextFiled nicht die Maske anzeigen. Ist es nicht? – Sachindra

Antwort

2

Dies wird ein maskiertes Textfeld erstellen. Wenn Sie die Eingabetaste drücken, wird das ausgegeben, was der Benutzer eingegeben hat. Dies verwendet 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

Vielen Dank. Aber jede Ziffer sollte entweder 0 oder 1 sein. Wie kann ich das erreichen? – Sachindra

+0

Die Maske sollte 0s und 1s sein? – Zack

+0

Ja Es sollte 0s und 1s sein – Sachindra