Java_Neuling Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 Morgen! Ich bräuchte wieder mal Hilfe und zwar würd ich gern die Eingabe beim JTextField auf ein Zeichen minimieren und dieses Zeichen sollte zwischen 0 bis 9 liegen... kann mir da jemand helfen :confused: Außerdem würde ich gern einen Listener implementieren aber ich weiß nicht welchen ich brauche :confused: und zwar hab ich 3 TextFields und nach jeder Eingabe in einem JTextField soll mir die Summe der drei Automatisch berechnet und und in einem anderen (4tes Textfeld) ausgegeben werden welchen Listener könnt ihr mir empfehlen :confused: Vielen Dank im voraus! Zitieren
room409 Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 Hmm für die bestimmte Formatierung würd ich dir ein JFormattedTextField ans Herz legen. Da kann man sowas recht einfach realisieren Und für die Listener Geschichten einen KeyAdapter und eine Methode davon überschreiben (keyPressed, keyReleased, keyTyped). Kannst ja rumprobieren welche davon am sinnvollsten ist grz Zitieren
Java_Neuling Geschrieben 1. Oktober 2007 Autor Geschrieben 1. Oktober 2007 KeyListener key = new KeyListener(){ public void keyTyped(KeyEvent e) { } public void keyPressed(KeyEvent arg0) { } public void keyReleased(KeyEvent arg0) { } }; Den Keylistener hab ich nun hin gekriegt aber des TextFeld auf eine Zahl zu begrenzen hab ich nicht hin bekommen Zitieren
room409 Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 Guckst du... new JFormattedTextField(new MaskFormatter()); und dem Maskformatter gibst du noch String mask mit dafür gilt private static final char DIGIT_KEY = '#'; private static final char LITERAL_KEY = '\''; private static final char UPPERCASE_KEY = 'U'; private static final char LOWERCASE_KEY = 'L'; private static final char ALPHA_NUMERIC_KEY = 'A'; private static final char CHARACTER_KEY = '?'; private static final char ANYTHING_KEY = '*'; private static final char HEX_KEY = 'H'; Zitieren
Java_Neuling Geschrieben 2. Oktober 2007 Autor Geschrieben 2. Oktober 2007 Also ich habs hier mal versucht aber... JFormattedTextField tf = new JFormattedTextField(new MaskFormatter(DIGIT_KEY)); dann kommt nur die Fehlermeldung "The constructor Maskformatter(char) is undefined" und "The constructor JFormatted(MaskFormatter) is undefined" :confused: Zitieren
room409 Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 new MaskFormatter("#") try this --- edit: habs grad ausprobiert , geht. Zitieren
Java_Neuling Geschrieben 2. Oktober 2007 Autor Geschrieben 2. Oktober 2007 JFormattedTextField tf = new JFormattedTextField(new MaskFormatter("#")); Fehlermeldung: "Unhandled exception type parseException" import javax.swing.JFormattedTextField; import javax.swing.text.MaskFormatter; public class test { public static void main(String [] args) { JFormattedTextField tf = new JFormattedTextField(new MaskFormatter("#")); } } so viel kann ich garnicht falsch machen weil bis jetzt nur des drin steht darum frag ich mich wie es bei dir gehen kann und bei mir nicht :confused: Zitieren
room409 Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 Weil ich eclipse hab und der beim coden ohnehin gemeckert hat dass parseexception geworfen wird also heißt das für uns: try{ //Jformattedtextfield initialisieren }catch(ParseException e){ //fang mich } Zitieren
Java_Neuling Geschrieben 2. Oktober 2007 Autor Geschrieben 2. Oktober 2007 Jetzt komm ich nimmer mit :confused: try { JFormattedTextField tf = new JFormattedTextField(new MaskFormatter("#")); } catch(ParseException e) { } meinst du so? Allerdings bringt eclipse bei mir immer noch ne Fehlermeldung mit der ich nichts anfangen kann Zitieren
room409 Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 ja so mein ich das. wichtig ist das textfeld ausserhalb des try blocks zu deklarieren und im block zu initialisieren damit du das danach noch verwenden kannst (dürfte klar sein) so hab ich das vorhin probiert und so hat das auch funktioniert was wär na jetzt noch? Zitieren
_Arvid_ Geschrieben 2. Oktober 2007 Geschrieben 2. Oktober 2007 @Java_Neuling Ein gut gemeinter Rat (...im Sinne von konstruktiver Kritik, nicht im Sinne von bösen Anschuldigungen, versteht sich...) Ich habe den Eindruck, du solltest dich nochmal eingehend mit den Grundlagen der Java-Welt beschäftigen. Im günstigsten Fall hättest du noch von der Entwicklung von GUIs abgesehen. Wenn ich mich an meine Anfangszeit erinnere, waren da nur irgendwelche Ausgaben auf der Commandline und Eingaben von der selbigen. Exception-Handling ist ein unausweichliches Grundkonzept in der Entwicklung mit Java. Die scheint dir noch nicht so richtig bewusst zu sein, so scheint mir. Beginne an der Wurzel mit einer Programmiersprache (Grundlagen), nicht an der Spitze (z.B. GUI)! Des Weiteren habe ich das Gefühl, dass du grundsätzlich arge Probleme mit der Beschreibung deiner Probleme hast. Immer wieder scheinen helfende Forumsleser nachfragen zu müssen, wo deine Probleme liegen. Du solltest stets darauf achten, dass die Leser dieses Forums nicht sehen, was du siehst, nicht denken, was du denkst und auch nicht wissen, was du weißt. Zu schreiben, dass noch immer eine Fehlermeldung erscheint, mit der du nichts anfangen kannst, wird demnach niemand hier lösen können, ohne von dir noch zu erfahren, um welche Meldung es sich in welchem Kontext überhaupt handelt. Versetze dich also immer (!) in die Lage der Forumsleser, die dein Problem nicht kennen. Mit anderen Worten: Stell dich doof. Tu mal so, als ob du nicht die geringste Ahnung von dem hast, worum es in deinen Forumsbeiträgen geht. Lies deine Beiträge (noch vorm Abschicken, also in der Vorschau) durch, am besten mehrfach. Du wirst an manchen Stellen sicher schnell feststellen, dass Fragestellungen á la "Ich brauche Hilfe" nicht sehr aussagekräftig sind. Ferner wirst du dir selbst die Frage stellen: "Was will dieser Java_Neuling eigentlich und welches Problem hat er nun genau?" Also.... Probleme beschreibt man im Ideallfall wie folgt: Zusammenfassen, woran man überhaupt erstmal arbeitet. Anschließend darauf eingehen, woran man im Detail arbeitet (die Stelle, an der sich das Problem ergab, ohne das Problem selbst zu schildern). Dann erst eine genaue Beschreibung deines Problems machen (Welcher Fehler tritt unter welchen Umständen in welcher Form auf? Was genau funktioniert nicht? etc.). Daraufhin wird geschildert, was bereits alles unternommen wurde, um Abhilfe zu schaffen (Stichwort: Eigeninitiative). Im Anschluss dein Gesuch zusammenfassen, um dem Leser kurz und bündig nochmal die eigentliche Frage vor Augen zu führen. Vor allem aber solltest du eines bereits im Vorhinein erledigt haben: Suche selbst in den Weiten des Internets sowie auch in diesem Forum nach der Lösung eines ähnlichen oder gar des gleichen Problems. Lies dich schlau, ehe du dich an uns wendest! Es gibt hunderte von erstklassigen Tutorials, Hilfestellungen und Dokumentationen auf dieser Welt, die dir sehr viel schneller eine Lösung hätten bieten können, als es dieses Forum jemals könnte. So wäre beispielsweise die Frage nach der Meldung "Unhandled Exception" nicht nötig gewesen, ja sogar die Frage nach der Arbeit mit formatierten Textfeldern. Das Bild, welches ich bislang von dir vor Augen habe ist, dass du bei jedem Pups jemanden fragen willst, anstatt selbst mal zu schauen, was getan werden könnte/sollte. Gewöhne dir an, die Alternativen eines Forums zu nutzen. (Das soll keinesfalls heißen, dass du nie wieder im forum etwas fragen sollst! Das sollst du nur in denjenigen Fällen, in denen du wirklich keine Lösung findest - nirgends.) Bitte fasse diese "Standpauke" von mir nicht böse auf. Die ist echt lieb gemeint. Würde ich es böse mit dir meinen, hätte ich ganz sicher nicht die Zeit geopfert, so viel Text zu schreiben. Darüber hinaus hätte ich auch ganz andere Worte gefunden, um dir obigen Standpunkt klar zu machen. Betrachte es folglich als einen Wink mit dem Zaunpfahl. In diesem Sinne. Ändere deine Arbeitsweise ins Positive! Back2Topic... Zu guter Letzt noch zwei Worte zum Thema: Swing Tutorial Ja, das geht auch genauer: Formatted Textfield Ergänzend noch Folgendes: visuelle Übersicht der Swing-Komponenten Zitieren
Java_Neuling Geschrieben 3. Oktober 2007 Autor Geschrieben 3. Oktober 2007 Ok die "Ohrfeige" hab ich wahrscheinlich sogar wirklich verdient... aber eins muss ich zu meiner Verteidigung sagen des meiste was ich hier gepostet hab war wegen der Arbeit weil ich ne Oberfläche schreiben sollte und keine Ahnung von Oberflächen hatte, wie dir schon richtig aufgefallen ist... naja jetzt kann ich nur noch deinen Rat befolgen und hoffen das es besser wird eine frage hätt ich noch wenn du erlaubst kennst du vllt paar gute OpenBooks für mich um mich da bisschen hinein zu vertiefen :confused: Zitieren
_Arvid_ Geschrieben 3. Oktober 2007 Geschrieben 3. Oktober 2007 Aber selbstverständlich. Zum Einen gibt es sogar hier im Forum eine Linkliste für den Einstieg in die Java-Welt. Was da jedoch noch fehlt (hab ich auf einen schnellen Blick jedenfalls nicht sehen können), sind die Java Tutorials von Sun. Weiterhin kann ich folgende Linkliste empfehlen: Java Tutorials. Zitieren
geloescht_Newlukai Geschrieben 3. Oktober 2007 Geschrieben 3. Oktober 2007 Noch eine kleine Anmerkung hinterher: Für das auf 0-9 begrenzte Textfeld: Warum nimmst Du nicht einen Spinner? Dem gibst Du als Minimum 0 und als Maximum 9 mit und gut. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.