我实现了一些代码,它有一个画布类型的警报类,并且它有一个keyPress方法,对于使用警报类的每个类,该方法必须工作不同。例如,keyPress方法有两个按钮,每个按钮的功能对于每个类都是不同的!有人能告诉我如何实现它吗?
公共类myAlert扩展了Canvas实现CommandListener{
公共myAlert(Midlet midlet,int width,int height,String str,String left_str,String right_str){ } protected void paint(Graphics g) { g.setColor(0,0,0);g.drawRoundRect(5,180,width-10,height,8,8);g.drawRoundRect(15,185,width-15,height-5,7,7);g.setColor(0xbfd4f6);g.fillRoundRect(0,180,width,height,8,8);/} protected void keyPressed(int keyCode) { switch(keyCode){ case -6: //选择按钮
// break;case -7: //关闭按钮
break;
}}}公共类M(){
protected void keyPressed(int keyCode) {
switch (state) {
case STATE_INPUT_LEFT:
// do work for focus on the left
if (keyCode >= KEY_NUM0 && keyCode <= KEY_NUM9 && digitsEntered < 10) {
digits_left[digitsEntered] = (char) ('0' + (keyCode - KEY_NUM0));
digitsEntered++;
repaint();
if(digitsEntered>=8){
state=STATE_INPUT_RIGHT;
m= new myAlert(midlet,w, 150,"Ok " ,"exit",”system”);//我希望如果用户点击Ok按钮,主页必须显示给用户Display.getDisplay(midlet).setCurrent( m);break;} Public class N(){ public void commandAction(Command c,Displayable d) { String label = c.getLabel();if(label.equals("Exit")){ midlet.exit();} else if(label.equals("Enter")){ m= new myAlert(midlet,w,150,“yes”,“No”,“Print”);//我希望如果用户点击ok,另一条消息将显示给用户Display.getDisplay(midlet).setCurrent( m);
}
}这是我的代码的一部分!正如你在M类和N类中看到的,Alert类的左键的功能是不同的!现在你能帮我吗?
发布于 2011-04-03 17:24:23
在父对象中,让处理程序检测特定的按钮并委托给两个单独的抽象方法。在子对象中,实现这些方法。
https://stackoverflow.com/questions/5528670
复制相似问题