[JAVA] TetField

di Anonimizzato3195 il
9 risposte
Salve a tutti,
utilizzo J2ME da poco tempo e non so come risolvere un grosso problema. Ho creato un textfield in cui l'utente deve inserire un valore numerico che servirà per effettuare delle operazioni matematiche. Il problema è che non so come prelevare il valore numerico dalla textfield, perchè riesco a prenderlo solo come stringa!
Come posso fare?

9 Risposte

  • Prova cosi
    
    try
      {
      Integer.parseInt(textField.getText());
      }
     catch(Exception e) {}
    ciao gino
  • Grazie mille Gino!
    Una precisazione: in che variabile salva il valore? Non sono molto esperto...
    Grazie, ciao!
  • Hai ragione me ne sono dimenticato

    ecco come fare

    Int n;
    try 
      { 
      n = ger.parseInt(textField.getText()); 
      } 
     catch(Exception e) {}
    ciao
  • Ok, grazie
    allora, ho corretti tutti gli errori del codice a parte questi due:
    
    D:\\Programmi\\WTK22\\apps\\Altimeter\\src\\main.java:42: cannot resolve symbol
    symbol  : method getText ()
    location: class javax.microedition.lcdui.TextField
     		 n = get.parseInt(bar.getText()); 
                                         ^
    D:\\Programmi\\WTK22\\apps\\Altimeter\\src\\main.java:42: cannot resolve symbol
    symbol  : variable get 
    location: class main
     		 n = get.parseInt(bar.getText()); 
                         ^
    2 errors
    com.sun.kvem.ktools.ExecutionException
    Build failed
    
    Ti posto il codice completo, non riesco a capire come mai da errore..
    
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    public class main extends MIDlet implements CommandListener
    {
    	int n;
    	private Display display;
    	private Form fmMain;
    	private Command cmOk;
    	private Command cmExit;
    	private TextField bar;
    	private StringItem test;
    	public main ()
    {
    		display=Display.getDisplay(this);
    		cmOk = new Command (\"Ok\", Command.OK,2);
    		cmExit = new Command (\"Esci\",Command.EXIT,1);
    		bar = new TextField (\"Pressione:\",\"1013\",4,TextField.NUMERIC);
    		test= new StringItem (\"Altitudine:\",\"Altitudine:\");
    		fmMain = new Form(\"Altimetro\");
    		fmMain.addCommand(cmOk);
    		fmMain.addCommand(cmExit);
    		fmMain.append(bar);
    		fmMain.setCommandListener(this);
    
    }
    public void startApp()
    {
    	display.setCurrent (fmMain);
    }
    public void pauseApp()
    {
    }
    public void destroyApp(boolean unconditional)
    {
    }
    public void commandAction(Command c, Displayable s)
    {
    	if (c==cmOk)
    	{
    	try 
      		{ 
     		 n = get.parseInt(bar.getText()); 
     		 } 
     	catch(Exception e) {}
    	test.setText(\"L'altitudine è di: \" + ((1013-n)/9) + \" \" );
    				
    	}
    }
    }
    
    Grazie mille per la tua disponibilità!
    Ciao!
  • Ooppsss... non avevo fatto caso che parlavi di j2me... ora non ho la documentazione sotto mano ma l'errore dice che non trova il metodo getText() nella classe TextField. inoltre get non la trova nel main li dovrebbe andarci Integer.

    ciao gino
  • Ho capito, quindi devo dichiarare get come integer??
    Per quanto riguarda il metodo getText..esistera un'equivalente in j2me?
    Ciao
  • Sicuramente ci sarà un equivalente oppure vuole qualche parametro. basta che guardi la documentazione. Non serve che dichiari get come integer perche il metodo parseInt è un metodo static quindi puoi dirrettamente invocarlo cosi


    Integer.parseInt(int val);

    ciao
  • Ok, grazie. Cercherò un po' la documentazione di j2me e ci darò un'occhiata.
    Grazie
  • Ce l'ho fatta!
    Il codice esatto è:

    try
    {
    n = Integer.parseInt(test.getString());
    }

    Grazie a tutti!
Devi accedere o registrarti per scrivere nel forum
9 risposte