paraxx Geschrieben 21. März 2002 Geschrieben 21. März 2002 Hi Leutz, ich Programmiere gerade einen Taschenrechner in Java und habe folgendes Problem --> Ich habe 2 Textfelder und ein Nummernblock. Wenn ich in das erste Textfeld klicke und auf meinem Nummernblock auf die 1 klicke dann will ich das in diesem Feld die 1 steht und wenn ich mit der Maus in das zweite Eingabe feld gehe und die 1 klicken dan will ich das in diesem Feld die 1 kommt. Wie bekomme ich das hin? Vielleicht mit irgend einem MouseListener();? Ich hoffe ihr könnt mir helfen!!! Tschöö Paraxx Zitieren
Snowghost Geschrieben 21. März 2002 Geschrieben 21. März 2002 Bau das ganze doch ein bisschen anders auf: Verwende nur ein TextField. In dieses gibst du die ganzen Zahlen (über die Buttons) ein. Sobald ein Button mit einem Operanden (+, -, *, / etc) gedrückt wird, schickst du den Text z.B. in ein Label und leerst das TextField. Neue Zahleneingaben kannst du dann wieder in das leere TextField schreiben. Falls du Probleme hast, auf Events der Buttons zu reagieren: Den Buttons muss natürlich ein ActionListener zugeordnet sein. (java.awt.events.ActionListener) Snowghost Zitieren
paraxx Geschrieben 21. März 2002 Autor Geschrieben 21. März 2002 Das ist glaub ich auch die bessere Idee. Die Rechenoperatoren hab ich alle schon eingebaut. Das stellt sich mir gelich das zweite Problem. Wenn ich auf meinem Nummernblock zweimal die 1 drücke ist trotzdem nur einmal die 1 zusehen. Wie bekomme ich das hin das ich 2 mal die 1 eigeben kann und dann auch 2 einsen sehe? Zitieren
Snowghost Geschrieben 21. März 2002 Geschrieben 21. März 2002 Du darfst den Inhalt des TextFields natürlich nicht überschreiben, sondern musst die Auswahl (die Ziffern) immer anhängen. Bsp: textField.setText(textField.getText() + nummer)); Snowghost Zitieren
paraxx Geschrieben 21. März 2002 Autor Geschrieben 21. März 2002 Ich hab da nochmal ne frage zum rechnen. Wenn ich auf den Button "+" drücken dann sage ich, hol dir den Wert aus dem Textfeld, überprüfen ob du es in "float" umwandeln kannst, wenn ja dann mach das(oder mußt das vielleicht Global gemacht werden), dann hab ich den Wert als float, außerdem setzte ich eine eine LabelFeld auf z. B. "+". Jetzt frage ich in meinem "Ist gleich" Button ab, was für ein Operator in dem LabelFeld steht und rechne dann dem entsprechend. Wenn ich es Global machen muß wäre es dann so richtig--->? String holen = eingabe.getText(); String holen2 = eingabe2.getText(); try { float x = Float.parseFloat(holen); float y = Float.parseFloat(holen2); } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl ein"); return; } float x = Float.parseFloat(holen); float y = Float.parseFloat(holen2); stimmt das so? Zitieren
Snowghost Geschrieben 21. März 2002 Geschrieben 21. März 2002 Kleines Bsp.: public void rechne() { float op1 = 0; float op2 = 0; float ergebnis = 0; try { op1=Float.parseFloat(eingabe.getText()); op2=Float.parseFloat(eingabe2.getText()); switch (operand) { case 1: ergebnis = op1 + op2 case 2: ergebnis = op1 - op2 } } catch (Exception e) { } } "operand" wäre in diesem Fall eine int-Variable. Dieser Variablen würde ich (je nach gedrücktem Operand-Button) einen Wert zuordnen. (z.B. 1 für Plus, 2 für Minus etc.) Dann kannst du ihn in der switch-case Anweisung auswerten und mit deinen Operanden entsprechend rechnen. Was du dann mit dem Ergebnis machst (und wo du die Variable deklarierst) bleibt dir überlassen. Snowghost Zitieren
paraxx Geschrieben 21. März 2002 Autor Geschrieben 21. März 2002 Danke für Hilfestellung, habs zwar net genau so gemacht aber die Hinweise waren sehr gut. Wenn du willst kann ich ihn dir, wenn das Menü und das Design fertig ist, mal zu senden!?! Paraxx Zitieren
Snowghost Geschrieben 21. März 2002 Geschrieben 21. März 2002 ja klar, mach das. meine email: jglink@snowghost.de Snowghost Zitieren
paraxx Geschrieben 22. März 2002 Autor Geschrieben 22. März 2002 Hab mal wieder ne Frage. Es gibt ja auf einem Taschenrechner eine "+/-" Taste. Wie kann ich abfragen wenn ein Minus in dem TextFeld drin ist dann lösche es bzw. mach ein plus draus? Paraxx Zitieren
Klotzkopp Geschrieben 22. März 2002 Geschrieben 22. März 2002 Lies doch einfach den Wert aus, multipliziere ihn mit -1, und schreib ihn wieder rein. Zitieren
paraxx Geschrieben 22. März 2002 Autor Geschrieben 22. März 2002 Net schlecht, eigentlich voll simpel! Danke Paraxx:OD Zitieren
paraxx Geschrieben 22. März 2002 Autor Geschrieben 22. März 2002 Wie kann ich eigentlich das Logo von meinem Programm (Symbol in der linken oberen Ecke) ändern? Zitieren
paraxx Geschrieben 22. März 2002 Autor Geschrieben 22. März 2002 Kann mir jemand den Befehl für ".grabFocus();" in "java.awt.*;" sagen? Oder geht ".grapFocus();" nur in "javax.swing.*;" Zitieren
Jaraz Geschrieben 22. März 2002 Geschrieben 22. März 2002 Hallo, du solltest die mal die JDK Api Docu installieren. ------------------------------------------- grabFocus public void grabFocus()Sets the focus on the receiving component if it doesn't already have it. This method is for focus managers. You rarely want to call this method; use requestFocus() instead. ------------------------------------------- Gruß Jaraz Zitieren
paraxx Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Servus, i hab da mal wieder eine froge. Wie kann ich ein Objekt Klassenübergreifend ansprechen ohne das die Fehlermeldung kommt "Eine statische Referenz auf ein nicht-statisches variable eingabe ist nicht möglich in zeile usw."?:confused: Zitieren
Snowghost Geschrieben 25. März 2002 Geschrieben 25. März 2002 Ist jetzt nicht böse gemeint, aber du solltest dir wirklich mal ein Buch zulegen und die Grundlagen von Java durcharbeiten... Diese Fehlermeldung kommt, wenn du innerhalb einer statischen (static) Methode auf eine Variable (oder Objekt) zugreifst, die nicht statisch ist. Hier mal 2 kostenlose Online-Bücher: www.java-tutor.com (Java ist auch eine Insel) www.javabuch.de (GoTo Java) Snowghost Zitieren
paraxx Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Danke für den Hinweis aber das war mir auch klar. Du hast mich jedoch auf eine grandiose Idee gebrach die ich gleich umgesetzt hab. Entlich kann ich das Menü fertig implementieren. Das war einfach genial! MERCI! Er wird heut noch fertig. Ich schick ihn dir dann zu. Muß dir aber das komplette package schicken, weil das mit dem ausführbar machen nicht so einfach ist. Zitieren
paraxx Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Tach da bin ich wieder. Fragen über Fragen *gg*. NAJA. Kann mir jemand sagen wie kann ich das letzte zeichen meiner Eingabe löschen kann? Zitieren
Snowghost Geschrieben 25. März 2002 Geschrieben 25. März 2002 Bilde dir einen Sub-String. in etwa so: String s = new String("1234"); s = s.substring(0, s.length-1); Snowghost Zitieren
paraxx Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Hej, i glaub du bischt der absolute java cheeeffff!! Net schlecht, ich hatte das zwar auch schonmal gehört(in der schule) aber ich wußte net mer wie des geht. Net schlecht wirklich net schlecht. Zitieren
paraxx Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Hab hatte mir diesmal vorgenommen das Problem allein zu lösen aber ich komme jetzt einfach nicht mehr weiter, ich brauche HILFE!! Folgendes Problem: Ich habe in meine Menüleiste die Menüpunkte "Kopieren" und "Einfügen" eingefügt und will da natürlich auch funkt. dahinterlegen. Jetzt habe ich folgendes gemacht: -> in meine Hauptklasse habe ich ein Clipboard erstellt und habe dann in meinen konstruktor ->"clip = getToolkit().getSystemClipboard();" geschrieben, was ja bedeutet das er den inhalt meines clipboardes in die system zwischenablage steckt? oder verstehe ich das falscht:confused: . Danach habe ich in meine Menüfunktion folgendes geschrieben welches mir eigentlich auch relativ klar ist. class copy implements ActionListener { public void actionPerformed (ActionEvent e) { String txt = eingabe.getText(); StringSelection trans = new StringSelection(txt); clip.setContents(trans, this); } } Hab keine ahnung ob das richtig ist. Auf jedenfall gehts net. Habs aber so auf einem Tutor. gelesen. Bin mir sicher der Snowghost weiß wies zu lösen ist?!!?!?! Oder? Zitieren
Snowghost Geschrieben 25. März 2002 Geschrieben 25. März 2002 schick mir doch am besten mal deine klassen rüber (email ist irgendwo oben). dann kann ich dir vielleicht genauer sagen, wo das prob liegt. Snowghost 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.