|
| Problemer med tomt swing textfield Fra : Simon Kamber |
Dato : 28-05-03 16:52 |
|
Som grøn i programmeringsfaget er jeg lige kommet igang med at lave
programmer med swing interface. Jeg har nogle textfields som jeg gerne
skulle bruge værdierne fra, men hvis disse er tomme når de læses
udløser det en længere række exeptions. Den stump kode der gerne
skulle hente dataene fra et textfield ser sådan her ud:
try {
inputResult_a = input_a.getText();
} catch(Exception e) {
inputResult_a = new String("0");
}
Hvis input_a (et JTextField object) er tomt, kommer der en liste ca
som denne i kommandolinien:
java.lang.NumberFormatException: empty String
at java.lang.FloatingDecimal.....
at java.lang.Double.valueOf(Double.java:183)
osv.
Nogle der kan fortælle mig hvad der sker, og endnu bedre hvad jeg skal
gøre for at det holder op med at ske?
| |
Lars Dam (28-05-2003)
| Kommentar Fra : Lars Dam |
Dato : 28-05-03 17:42 |
|
On Wed, 28 May 2003 17:51:59 +0200
Simon Kamber <simon_kamber@hot<<<REMOVE>>>mail.com> wrote:
> Som grøn i programmeringsfaget er jeg lige kommet igang med at lave
> programmer med swing interface. Jeg har nogle textfields som jeg gerne
> skulle bruge værdierne fra, men hvis disse er tomme når de læses
> udløser det en længere række exeptions. Den stump kode der gerne
> skulle hente dataene fra et textfield ser sådan her ud:
>
> try {
> inputResult_a = input_a.getText();
> } catch(Exception e) {
> inputResult_a = new String("0");
> }
>
> Hvis input_a (et JTextField object) er tomt, kommer der en liste ca
> som denne i kommandolinien:
>
> java.lang.NumberFormatException: empty String
> at java.lang.FloatingDecimal.....
> at java.lang.Double.valueOf(Double.java:183)
> osv.
>
> Nogle der kan fortælle mig hvad der sker, og endnu bedre hvad jeg skal
> gøre for at det holder op med at ske?
1) Du kan fange NFE'en og håndtere den
2) Du kan checke at strengen ikke er tom inden du prøver at konvertere den
3) Du kan sikre at der kun kan tastes tal ind i feltet (så der ikke kommer bogstaver med)
En kombination af disse tre vil nok være bedst.
vh. ld
| |
Simon Kamber (29-05-2003)
| Kommentar Fra : Simon Kamber |
Dato : 29-05-03 16:08 |
|
On Wed, 28 May 2003 18:41:45 +0200, Lars Dam <larsdam@post2.tele.dk>
wrote:
>3) Du kan sikre at der kun kan tastes tal ind i feltet (så der ikke kommer bogstaver med)
Ok, nu fik jeg det til at virke, forsøgte at fange NFE'en det forkerte
sted:/. Men hvordan er det lige at man begrænser et felt til tal?
| |
Anders K. Olsen (29-05-2003)
| Kommentar Fra : Anders K. Olsen |
Dato : 29-05-03 16:22 |
|
"Simon Kamber >>mail.com>" <simon_kamber@hot<<<REMOVE> skrev i en meddelelse
news:b87cdv0u3i9p9n99baf5nlt82199amv2g2@4ax.com...
> Men hvordan er det lige at man begrænser et felt til tal?
Du kan bruge JFormattedTextField.
Der er en (ultra) kort beskrivelse i Java tutorial'en:
http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html
Du kan måske finde mere et andet sted på nettet, hvis du søger efter det.
/Anders
| |
|
|