Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie kann man überprüfen, ob ein JNumberField leer ist?
Meine Ansätze:
Java:
if (jNumberField.isEmpty()){...}
if (String.valueOf(jNumberField.getInt()).length==0){...}
if (String.valueOf(jNumberField.length()==0){...}
if (jNumberField.getInt.isEmpty()){...}
if (jNumberField.getInt.length()==0){...}
warum? Du könntest ja auch einfach auf != prüfen und wenn das true ist verlässt du die Methode. Und wenn nicht wird sie ganz normal ausgeführt. Oder was meinst du?
*****.java:73:14: error: cannot find symbol
if (jNumberField1.isFieldEmpty()) {...}
^
symbol: method isFieldEmpty()
location: variable jNumberField of type JNumberField
1 error
Nun, dir wurde die entsprechende Methode bereits genannt. Und ihre Benutzung ist eindeutig. Dein Fehler muss woanders liegen, lässt sich aber ohne Kenntnis deines Codes nicht sagen.
vielleicht wäre es ja mal ganz sinnvoll wenn du uns erstmal sagst aus welchem framework du diese klasse hast ... denn weder NumberField noch JNumberField sind standard-klassen ...
und ohne das wir wissen um welche klasse es geht ... können wir dir nicht helfen ...
*btw : einfach google geht schlecht da es zu viele varianten dieser klasse gibt und wir dann schon mal genau die bräuchten mit der du arbeitest ...
tipp : wenn du schüler/student bist und diese klasse von deinem lehrer/dozenten vorgegeben bekommen hast ... dann gewöhne dir bitte GANZ SCHNELL ab sowas zu nutzen ... weil dann führt das nämlich genau dazu : wie sollen wir dir fragen beantworten wenn wir nicht wissen womit du arbeitest ?
und dieses JNumberField ist vermutlich auch nur mit SE-klassen zusammengebaut um ein feld zu haben in das man nur zahlen eingeben kann ...
das kannst du auch mit einem normalen JTextField und einem PlainDocument machen ...
aber so spontan würde ich behaupten das es ein normales JTextField ist ... dann könntest du das hier verwenden um zu prüfen ob das feld LEER ist
Java:
if(jNumberField.getText().equals(""))
[OT]ich weis zwar nicht wer hier oder im verlinkten thread drauf gekommen ist ... aber es wurde BEIDE male gefragt wie man ein TextField auf einen bestimmten inhalt prüfen kann ... und was kommt : if(textField==null) ... ich mein ... hallo ? gehts noch ? man muss ja dann doch wohl ein TextField haben wenn man es in einer GUI anzeigen will ... und entsprechend eine referenz darauf ... wer kommt dabei dann auf NULL ? *sry ... das ist mir aber leider nicht ersichtlich*[/OT]
Ich benutze den Standart JavaEditor, und also auch die Standart Klassen!? Sorry kenn mich noch nicht so aus mit Java, da ich ein Anfänger bin, aber einer mit vielen Ideen
Und den Vorschlag probiere ich mal morgen aus, danke dafür!
Das ist die Fehler Meldung (normales NumberField AWT):
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011)
at java.lang.Double.valueOf(Double.java:504)
at java.lang.Double.<init>(Double.java:597)
at NumberField.getInt(NumberField.java:30)
at Rate_die_Zahl.anwenden(Rate_die_Zahl.java:248)
at Rate_die_Zahl.button3_ActionPerformed(Rate_die_Zahl.java:382)
at Rate_die_Zahl$4.actionPerformed(Rate_die_Zahl.java:149)
at java.awt.Button.processActionEvent(Button.java:409)
at java.awt.Button.processEvent(Button.java:377)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
ich glaube du hast mich noch immer nicht verstanden
es gibt keinen STANDARD editor für java ... nur verschiedene IDEs ...
und wenn man von standard-klassen spricht ... meint man in aller regel alle klassen welche in JavaSE enthalten sind ... und das sind deine J/NumberField eben nicht ...
also noch mal für dich ganz groß :
WOHER hast du diese klassen ?
deinem StackTrace ist jedoch entnehmbar das NumberField noch nicht mal in irgendeinem package steckt ... also vermutlich noch nicht mal aus irgendeinem framework stammt sondern nur so eine ganz normale klasse ist ...
am besten wäre es wenn du uns die klasse einfach mal verlinken oder ihren source hier oder auf pastebin uppen könntest ... ansonsten können wir dir nicht helfen ...
beide klassen überschreiben String getText() NICHT ! .... ergo kannst du dir durch callen von String getText() den INHALT des J/TextField holen und diese mit String.equals(String) auf einen bestimmten inhalt prüfen ...
zusammengefasst
wenn du prüfen willst ob dein field leer ist
Java:
if(jNumberField.getText().equals(""))
System.out.println("jNumberField ist leer");
so ein BISSCHEN sollte man sich schon in der SE-API auskennen und auch mal drauf achten ob und wenn ja von was solche nicht-SE klassen abgeleitet sind ... dann brauch man nur in den super-klassen nach nötigen methoden suchen ...