gpt4 book ai didi

java - j2me中如何监听textfield或textbox中值的变化?

转载 作者:行者123 更新时间:2023-11-29 03:59:13 35 4
gpt4 key购买 nike

我想存储用户输入的每个字符。当用户按下键时,该键应存储在任何变量中。当用户按下其他键时,它必须用j2me中文本框中的新字符替换变量的值

最佳答案

是的,您需要监听事件 ItemStateListener 然后您可以在 itemStateChanged(..) 中处理它这是完整的代码

/*
* 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 :) ");
}

}

}

关于java - j2me中如何监听textfield或textbox中值的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498015/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com