Ich habe ein paar Male mit der Methode "JFormattedTextField" probiert. Dies ist meine erste Probe. Es scheint wohl zu sein, dass das mit der Eingabe von der Zahl im Textfeld geklappt hat. Aber die Zahl 0 wird immer wieder im Textbereich angezeigt, wenn man irgendeine Zahl eingibt. Was habe ich falsch gemacht? Es wäre schön, wenn es eine Lösung gäbe.
Noch eine weitere Frage habe ich auch. Wie kann man machen, wenn man nur Buchstaben im Textfeld eingibt. Etwas mit MaskFormatter? Wenn ja, wie denn?
Noch eine weitere Frage habe ich auch. Wie kann man machen, wenn man nur Buchstaben im Textfeld eingibt. Etwas mit MaskFormatter? Wenn ja, wie denn?
Code:
public class Uebung extends JFrame implements ActionListener, PropertyChangeListener{
public static void main(String[] args) {
new Uebung(); //ein neues Fenster öffnen
}
private JLabel lbTelefon = new JLabel("Telfonnummer: ");
int itelefon;
NumberFormat nf = NumberFormat.getInstance();
private JFormattedTextField ftfTelefon = new JFormattedTextField(nf);
private JTextArea ta = new JTextArea(10,10);
public Uebung(){ //constructor
ftfTelefon.addActionListener(this);
ftfTelefon.setColumns(10);
nf.setMaximumIntegerDigits(2);
ftfTelefon.setValue(new Integer(itelefon));
JPanel telefonPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
telefonPanel.add(lbTelefon);
telefonPanel.add(ftfTelefon);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(telefonPanel, BorderLayout.NORTH);
mainPanel.add(ta, BorderLayout.CENTER);
add(mainPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("JFormattedTextField");
pack();
setVisible(true);
}//constructor ende
public void actionPerformed(ActionEvent e) {
ta.append(""+ itelefon);
}
}//class