2010-12-21 10 views
1

Ich möchte jedes Zeichen speichern, das vom Benutzer eingegeben wird. Wenn der Benutzer die Taste drückt, sollte diese Taste in einer beliebigen Variablen gespeichert werden. Wenn der Benutzer andere Taste drückt, muss er den Wert der Variablen mit neuem Charakter in Textbox in J2ME ersetzenWie kann man den Wert in Textfeld oder Textfeld in j2me ändern?

+0

die Bearbeitung wirklich den Umfang der Frage ändern, –

Antwort

4

ja müssen Sie Ereignis ItemStateListener hören und dann können Sie damit umgehen in itemStateChanged (..) Hier ist voll Code

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 

package hello; 

import javax.microedition.midlet.*; 
import javax.microedition.lcdui.*; 

/** 
* @author Jigar 
*/ 
public class KeyEventListener extends MIDlet implements ItemStateListener{ 

    private boolean midletPaused = false; 

    //<editor-fold defaultstate="collapsed" desc=" Generated Fields "> 
    private Form form; 
    private TextField textField; 
    //</editor-fold> 

    /** 
    * The KeyEventListener constructor. 
    */ 
    public KeyEventListener() { 
    } 

    //<editor-fold defaultstate="collapsed" desc=" Generated Methods "> 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize "> 
    /** 
    * Initilizes the application. 
    * It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method. 
    */ 
    private void initialize() { 
     // write pre-initialize user code here 

     // write post-initialize user code here 
    } 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet "> 
    /** 
    * Performs an action assigned to the Mobile Device - MIDlet Started point. 
    */ 
    public void startMIDlet() { 
     // write pre-action user code here 
     switchDisplayable(null, getForm()); 
     // write post-action user code here 
    } 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet "> 
    /** 
    * Performs an action assigned to the Mobile Device - MIDlet Resumed point. 
    */ 
    public void resumeMIDlet() { 
     // write pre-action user code here 

     // write post-action user code here 
    } 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable "> 
    /** 
    * Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> method. This method is used by all actions in the design for switching displayable. 
    * @param alert the Alert which is temporarily set to the display; if <code>null</code>, then <code>nextDisplayable</code> is set immediately 
    * @param nextDisplayable the Displayable to be set 
    */ 
    public void switchDisplayable(Alert alert, Displayable nextDisplayable) { 
     // write pre-switch user code here 
     Display display = getDisplay(); 
     if (alert == null) { 
      display.setCurrent(nextDisplayable); 
     } else { 
      display.setCurrent(alert, nextDisplayable); 
     } 
     // write post-switch user code here 
    } 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Getter: form "> 
    /** 
    * Returns an initiliazed instance of form component. 
    * @return the initialized component instance 
    */ 
    public Form getForm() { 
     if (form == null) { 
      // write pre-init user code here 
      form = new Form("form", new Item[] { getTextField() }); 
      form.setItemStateListener(this); 
     } 
     return form; 
    } 
    //</editor-fold> 

    //<editor-fold defaultstate="collapsed" desc=" Generated Getter: textField "> 
    /** 
    * Returns an initiliazed instance of textField component. 
    * @return the initialized component instance 
    */ 
    public TextField getTextField() { 
     if (textField == null) { 
      // write pre-init user code here 
      textField = new TextField("textField", null, 32, TextField.ANY); 

     } 
     return textField; 
    } 
    //</editor-fold> 

    /** 
    * Returns a display instance. 
    * @return the display instance. 
    */ 
    public Display getDisplay() { 
     return Display.getDisplay(this); 
    } 

    /** 
    * Exits MIDlet. 
    */ 
    public void exitMIDlet() { 
     switchDisplayable (null, null); 
     destroyApp(true); 
     notifyDestroyed(); 
    } 

    /** 
    * Called when MIDlet is started. 
    * Checks whether the MIDlet have been already started and initialize/starts or resumes the MIDlet. 
    */ 
    public void startApp() { 
     if (midletPaused) { 
      resumeMIDlet(); 
     } else { 
      initialize(); 
      startMIDlet(); 
     } 
     midletPaused = false; 
    } 

    /** 
    * Called when MIDlet is paused. 
    */ 
    public void pauseApp() { 
     midletPaused = true; 
    } 

    /** 
    * Called to signal the MIDlet to terminate. 
    * @param unconditional if true, then the MIDlet has to be unconditionally terminated and all resources has to be released. 
    */ 
    public void destroyApp(boolean unconditional) { 
    } 

    public void itemStateChanged(Item item) { 
     if(item.equals(getTextField())){ 
      System.out.println("KeyPressed :) "); 
     } 

    } 

} 
+0

dank für ur Antwort aber, wie ich dies in netbeans können plz –

+0

antworten i ha Ich habe es aufgrund Ihres Guides gelöst danke –

+1

Sie sind immer willkommen, dies als Antwort zu markieren, wie es für Sie ist. –