Veröffentlicht 23. November 200420 j Hi Leute, ich hab ein Textfeld mit einem EchoChar versehen. Dieses EchoChar soll per Option abschaltbar sein. Wie soll das Funktionieren? Laut API, wenn man das EchoChar auf 0 setzt, aber wenn ich das so mache: textfield.setEchoChar('0'); überschreibt er mir nur alle Stelle mit 0 und nicht mit dem eigentlich Inhalt. Und textfield.setEchoChar(0); geht ja auch nicht, da ein Character erwartet wird. Was mache ich falsch? Danke & Gruß LordK
24. November 200420 j Mit 0 ist der ASCII-Wert gemeint. package de.lgm.test.gui; import java.awt.*; import java.awt.event.*; public class Fenster extends Frame { //Attribute private Button btnBeenden; private Button btnSchalter; private TextField txtFeld; private LayoutManager layMain; //Ende Attribute private void erzeugeKomponenten() { this.layMain = new BorderLayout(); this.setLayout(this.layMain); this.btnBeenden = new Button("beenden"); this.btnBeenden.addActionListener(new BeendenListener()); this.btnSchalter = new Button("Echo-Schalter"); this.btnSchalter.addActionListener(new SchalterListener()); this.txtFeld = new TextField(); this.add(this.btnBeenden, BorderLayout.SOUTH); this.add(this.btnSchalter, BorderLayout.NORTH); this.add(this.txtFeld, BorderLayout.CENTER); } private class BeendenListener implements ActionListener { public void actionPerformed(ActionEvent evt) { System.exit(0); } } private class SchalterListener implements ActionListener { public void actionPerformed(ActionEvent evt) { //Unschöner Code, da mit if's gearbeitet wird if (txtFeld.echoCharIsSet()) { txtFeld.setEchoChar('\u0000'); } else { txtFeld.setEchoChar('*'); } } } //Konstruktor public Fenster(String strTitel, int intBreite, int intHoehe) { this.erzeugeKomponenten(); this.setTitle(strTitel); this.setBounds(1, 1, intBreite, intHoehe); this.setVisible(true); } //Ende Konstruktor }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.