gpt4 book ai didi

java - 如何在 J2ME 中使用抽象方法?

转载 作者:行者123 更新时间:2023-12-01 15:53:31 24 4
gpt4 key购买 nike

我实现了一些代码,其中有一个 Canvas 类型的警报类,并且它有一个 keyPress 方法,该方法对于使用警报类的每个类必须有不同的工作方式。例如 keyPress 方法有 2 个按钮,每个按钮的功能对于每个类都是不同的!谁能告诉我如何实现它?

公共(public)类 myAlert 扩展 Canvas 实现 CommandListener{

public myAlert(Midlet midlet,int 宽度,int 高度,字符串 str,字符串 left_str,字符串 right_str){} protected 无效油漆(图形g){ g.setColor(0, 0,0); g.drawRoundRect(5, 180, 宽度-10, 高度, 8, 8); g.drawRoundRect(15, 185, 宽度-15, 高度-5, 7, 7); g.setColor(0xbfd4f6); g.fillRoundRect(0, 180, 宽度, 高度, 8, 8); ////////////////////////////// } protected void keyPressed(int keyCode) { 开关(键码){ case -6://选择按钮
//休息; case -7://关闭按钮

        break;
}

}}公共(public)类 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”);

//我希望如果用户单击“确定”按钮,则必须向用户显示主页 Display.getDisplay(midlet).setCurrent(m); 休息; } }}公共(public)类 N(){ 公共(public)无效commandAction(命令c,可显示d){ 字符串标签 = c.getLabel(); if(label.equals("退出")){ midlet.exit(); } 否则 if(label.equals("Enter")){ m= new myAlert(midlet,w, 150,”是”,”否”,”打印”);//我希望如果用户单击“确定”,则向用户显示另一条消息 Display.getDisplay(midlet).setCurrent(m);

}
}

这是我的代码的一部分!正如您在M类和N类中看到的,Alert类的左按钮功能是不同的!现在你能帮我吗?

最佳答案

在父级中,让处理程序检测特定按钮并委托(delegate)给两个单独的抽象方法。在子级中,实现方法。

关于java - 如何在 J2ME 中使用抽象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528670/

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