如何在按钮 Codenameone 上执行某些操作后重新加载整个表单

2023-12-25

当我从购物车中删除产品时,我想刷新我的表单我尝试了所有方法但没有成功,有什么方法可以做到这一点吗?

我的 Cart 类显示了我的购物车中的产品,当我从购物车中删除产品时,我想刷新整个表单,但不知道该怎么做,我几乎尝试了所有方法,但仍然可以'完成了

public class Cart {
  Form f;

  public Cart() throws IOException {
      f = new Form("cart",BoxLayout.y());

      Button b = new Button("back");
      b.addActionListener(e->{
         AfficherProduits sp;
          try {
              sp = new AfficherProduits();
              sp.getF().show();
          } catch (IOException ex) {
              System.out.println("ERREUR DANS RETOUR LISTE PRODUITS ");
          }
      });
      f.add(b);

      //**********************************instanciation du panier********************************************************
      Panier panier=Panier.getInstance();


      //********************************Parcourir le panier**************************************************************
       ComponentGroup cg = new ComponentGroup();
      for (Lignedecommande c : panier.p)
      {
          Container c4 =new Container(BoxLayout.x());
          Container c3 =new Container(BoxLayout.y());
          Container c2=new Container(BoxLayout.x());
          Container c1=new Container(BoxLayout.y());
          Container c5=new Container(BoxLayout.y());

      //***************************les elements du containers************************************************************
          ImageViewer iv=new ImageViewer();
          iv.setImage(Image.createImage("/"+ c.getProduct().getImage()).scaled(80, 80));

          Button bt=new Button("X");

          bt.addActionListener(e->{
             panier.removeLine(c);
             //ShowListProduct sp=new ShowListProduct();
             //sp.getF().show();
             f.removeComponent(cg);
             f.refreshTheme();
          });
          //********************les boutons de modif quantite******************************************
          Button b1=new Button("+");
          Button b2=new Button("-");
          bt.getStyle().setPadding(0,0,0,0);

          //*****************************mettre le bouton X au milieu****************************************************
          Label lb1=new Label(".");
          Label lb2=new Label(".");
          lb1.setVisible(false);
          lb2.setVisible(false);
          c1.add(lb1);
          c1.add(bt);
          c1.add(lb2);

          c5.add(b1);
          c5.add(b2);

          c4.add(c1);
          c4.add(iv);

          c2.add(new Label(Integer.toString(c.getQuantite())));
          c2.add(c5);
          //c2.add(b2);

          //c3.add(new SpanLabel(c.getProduct().getName()));
          c3.add(c2);


          c4.add(c3);
          c4.add(new Label("$"+Float.toString(c.getProduct().getPrix()*c.getQuantite())));

          cg.add(c4);
      }
      f.add(cg);
  }

  public Form getF() {
      return f;
  }

  public void setF(Form f) {
      this.f = f;
  }
}

我就是这样调用此页面来查看我的购物车的

  h = new AfficherProduits();
  h.getF().show();

不要重新加载。重新创建并展示。

将所有代码从构造函数移动到名为的方法createCartForm()。然后构造函数会执行以下操作:

f = createCartForm();

重新加载就会变成:

setF(h.createCartForm());
getCurrentForm().setTransitionOut(CommonTransitions.createEmpty());
h.getF().show();

我用新实例替换表单并删除默认过渡,这样替换就不会动画化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在按钮 Codenameone 上执行某些操作后重新加载整个表单 的相关文章

  • 如何将声音与代号一捆绑?

    我想在我的 Codename One 应用程序中包含声音 以实现单击按钮 过渡等效果 我不喜欢从 URL 下载它们 因为它们非常小 而且我希望即使在设备未连接到时也能播放它们互联网 看来我无法将源文件包含在主题中 我应该怎么办 将声音文件放
  • 如何从 Codename One 的构建服务器构建原生 Android 源代码

    我正在使用新的gradle 构建开关发送 Codename One 的 Android 版本时 使用 gradle 构建的突出好处之一是能够在 Android Studio 中打开 运行 并且该项目确实为我打开 但我收到以下错误 错误 无法
  • 在 Android 上从存储执行时,executeOfflineCommand 会跳过命令

    我必须在程序中按顺序执行 开始 和 完成 命令 并在最后同步所有内容 因此 我首先按顺序插入离线命令 并假设它们将以相同的顺序执行 为此 我使用 List 和 Iterator 这里的问题是 完成命令将在中间的一些奇怪的情况下错过执行 并且
  • Facebook Login Graph API 返回错误的个人资料图片 URL

    我通过调用使用 Facebook 图形 API它返回我期望的 json 响应 像这样的东西 id 1234567890987654321 email xxxxxx u0040example com name xxxx xxxx first
  • 如何使用变量来引用代号一中的组件?

    我使用 UIBuilder 创建了一个 UI 而不是总是使用findXXXX 我很乐意在Statemachine public class Statemachine private Container c private Tabs t in
  • AdMob 广告未在 iOS 中展示

    过去几天 iOS 版本没有展示 AdMob 广告 它曾经有效 我没有改变任何东西 iOS 9 3 5 IDE NetBeans 8 0 2 CodenameOne 插件 3 5 2 操作系统 Windows 7 Google 弃用了旧的 a
  • 绘制自定义组件

    这是两个问题 1 是最重要的paint的成员Component使用代号为 1 的简单 2D 图形游戏的最佳方法是什么 或者我什至不应该尝试它 2 为什么下面的代码会画出我的Component只是立即删除它 我像这样初始化我的组件 prote
  • 代号一个应用程序中的额外侧边菜单

    在我的应用程序中 我有一个右侧菜单 但似乎还有一个左侧菜单 仅包含后退按钮 没有菜单按钮 带有三条水平线 但如果触摸屏幕左边缘并拖动 则会出现菜单 我不明白为什么要创建它 但是有什么方法可以禁用或删除它吗 None
  • MediaPlayer 视频大小代号?

    我一直在使用 Codename 1 来开发 VideoCapture String file Capture captureVideo Media video MediaManager createMedia file true f add
  • 在代号一中使用 LocationManager 的正确方法

    我正在使用 LocationManager 来跟踪用户的位置并在 GoogleMaps 上显示相同的位置 我正在使用以下方法 但对此有一些疑问 为了第一次获取用户的位置 我使用 locationManager LocationManager
  • 代号一:将图像保存到存储并创建小圆形预览

    我目前的图像有问题 1 我无法将图像保存到存储 因为不支持将其直接存储到存储 我希望用户能够用相机拍照 然后创建的照片必须保存在某个地方 以便我稍后可以再次检索它 你能告诉我怎么做吗 a 保存图像 b 如何检索它 我在 Stackoverf
  • 捕获代号一中的未知主机异常

    我正在使用构建一个应用程序代号一 http www codenameone com 问题是 我需要使用该应用程序访问 URL 该 URL 返回了我在屏幕上显示的一些结果 所以我用这些行来做到这一点 ConnectionRequest c n
  • 无法在 Mavericks 下使用我自己的 kestore 和 xcodebuild

    我正在尝试迁移一些 iOS xcode 构建服务器以使用 Mavericks 这对于 xcode 6 构建至关重要 然而 使用过去在 Mountain Lion 中工作的代码调用 xcodebuild 似乎不再工作并导致 Code Sign
  • CodenameOne - Android 推送通知支持,无需专业帐户

    因此 我买不起 codeameone 专业帐户 因此我使用 GCM 为 Android 实现了本机推送通知 经过一番努力 我终于成功了 现在 GCM 已弃用 我想迁移到 FCM 但是 我遇到了一些问题 因为代号一不允许我将正确的依赖项注入到
  • 跨平台上的 AES cbc 填充加密/解密(.net c# 和代号 one bouncy castle)

    加密 解密不能在跨平台上工作 我已使用此链接使用代号一内的充气城堡 AES 密码来加密 解密文本 J2ME 中使用 Bouncycastle 进行 AES 加密 解密的示例 https stackoverflow com questions
  • 在 Codename One 中管理我的应用程序的演示/完整版本

    我被命令提供 2 个版本的应用程序 一个演示 轻型 有限功能 另一个完整 所有功能 我的代码中有一个布尔值 它告诉我哪个正在运行 它们都在模拟器或测试设备 iOS 和 Android 上按预期运行 现在我想分发它们 所以我读到这是可能的使用
  • 代号 1 个 JavaScript 回调

    我正在尝试在我的应用程序中显示同意页面 该页面应该用 html 编写 因此应用程序需要处理来自浏览器的按钮单击事件 我尝试复制博客中的例子 https www codenameone com blog new async java java
  • 是否可以在多按钮(代号一)上制作圆形图像(通过蒙版)

    我有一个InfiniteScrollAdapter我在其中使用Multibutton显示包含照片及其描述的列表 它效果很好 但我需要使照片变圆 这就是为什么我受到启发官方指南 https www codenameone com manual
  • 底部带有缩略图的轮播

    在 Codenameone 应用程序中 我尝试开发一个底部带有缩略图列表的轮播 我使用 Tabs 控件在表单中心以轮播样式显示文件 具有不同类型 如图像 视频 文本 按钮等 并使用另一个 Tabs 控件在底部显示缩略图图像 第一个轮播文件的
  • 如何在 codenameone 中使用两个侧边菜单?

    我想在左侧和右侧添加侧菜单 如何在 codenameone 中完成 getToolbar addCommandToSideMenu new Command 菜单 1 我可以使用上面的代码来添加左侧菜单 我也想在右侧添加它 The Toolb

随机推荐

  • Java 成员枚举类型应该大写吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这里有个问题 我们有 Java 枚举 它们是它们自己的类 而枚举是类的成员 public enum reportType 每次我看到这个都会让我
  • Kafka主题创建:等待节点分配超时

    我有一个本地 Kafka 使用以下命令运行docker compose yml file version 2 services zookeeper image confluentinc cp zookeeper 5 0 1 environm
  • WebGL 与 openGL 中的着色器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想使用着色器在 WebGL 中使用 特别是在 Three js 中 WebGL 和 Three js
  • EcsService 下班后不稳定

    我从头开始编写了一个 cloudformation JSON 文件 但我无法部署堆栈 并且我没有从 AWS 获得任何关于原因的信息 它卡在服务中CREATE IN PROGRESS4 5 小时 然后它说该服务did not stabiliz
  • sailsjs 数组查询 精确匹配

    我想在 sailsjs 中查询 mongodb 这是我的数据库的结构 users 52ed09e1d015533c124015d5 52ed4bc75ece1fb013fed7f5 user msgs sender 52ed09e1d015
  • 如何在stable/prometheus图表values.yaml中设置prometheus规则?

    使用官方Prometheus chart stable prometheus 定制其values yaml要设置的文件alertmanager yml文件和serverFiles area At rules https github com
  • 大型多CPU系统上的快速进程间(线程间)通信IPC

    对于进程间通信来说 最快的可移植双向通信机制是什么 其中一个应用程序的线程需要与同一台计算机上另一个应用程序中的多个线程通信 并且通信线程可以位于不同的物理 CPU 上 我假设它将涉及共享内存和循环缓冲区以及共享同步机制 但是 当线程在不同
  • SimpleTest 与 PHPunit

    我想知道是否有任何在这方面有经验的人可以解释一下重要的两者之间有什么区别吗 每种方法有什么特定的优势使其适用于任何特定情况吗 这个问题已经过时了 但由于它仍然有流量和答案 尽管我在这里再次陈述我的观点 但我已经在其他一些 较新的 问题上做到
  • 加载 .DLL 文件并访问其中类的方法?

    我对加载这样的库完全陌生 但这就是我的立场 我有一个自制的 DLL 文件 它非常简单 包括类本身和方法 在加载该库的主程序中 我有 Assembly testDLL Assembly LoadFile C dll test dll 从这里开
  • MongoError:未知修饰符:节点js中的$pushAll

    我在保存模型失败时遇到问题mongo 错误 MongoError 未知修饰符 pushAll 我有一个数组字段subDomains在我的架构中 它将使用子域保存为默认值 如下所示 already Domain instance get av
  • 停止 ListView 所选项目的更改,直到按下按钮

    所以我在尝试创建的应用程序中遇到了问题 我创建了一个示例应用程序来演示该问题 在应用程序中 我试图停止所选项目TableView如果未按回车键 则不会更改TextField 在我的实施中 我得到了StackOverFlow错误 我明白为什么
  • 评估预请求脚本时出错

    我正在尝试通过 Post 请求脚本访问 Postman 中 POST 请求的响应 我在下面添加了这两行Pre request Script let response pm response json console log JSON Res
  • SQLite,如何获取数据库中的所有表名?

    您认为从数据库获取所有表名并将它们添加到列表中的正确方法是什么 现在已经到了这一步了 final ArrayList
  • Laravel 守护进程队列内存泄漏

    我正在使用 laravel 5 1 并使用主管来监视队列作业 队列驱动程序是数据库 program queue process name program name s process num 02d command php var www
  • Swing JPanel 不会重新绘制

    我有一个简单的对象可以扩展JPanel 当 的时候update 在此对象上调用方法 这意味着向面板添加一些标签 然后重新绘制 但是调用 update 方法后标签并没有显示 下面是 update 的代码 public void update
  • 尝试渲染部分时局部变量始终为 nil

    在尝试渲染集合时 我遇到了一个非常奇怪的部分问题 我什至尝试了不同的方法 这是我的部分代码 用于调试 pre pre 这是我使用它的尝试 在每种情况下 部分都会
  • “字母数字”哈希 - A-Z、0-9

    我正在寻找一个可以生成 字母数字哈希 的函数 给定一个源字符串 它会生成一个确定的结果字符串 该字符串可以包含任何字母 a z 或数字 0 9 并且无法通过逆向工程来生成源 这将用于为基于秘密数据的系统生成密码 因此 8 到 12 个字符之
  • 从 Windows 中的另一个 Python 脚本运行 Python 脚本 - Python 3.6.5

    我的本地系统中几乎没有 python py 文件 例如 我将 py 存储在位置 C Users jack Desktop MyFiles 我的文件名是 my prog1 py my prog2 py 和 my prog3 py 现在我想编写
  • 用“纯”C++11 替代方案替换 BGL 顶点迭代?

    我想用纯 C 11 等效项替换顶点或边上的 BGL 迭代 BGL 代码 来自 http www boost org doc libs 1 52 0 libs graph doc quick tour html http www boost
  • 如何在按钮 Codenameone 上执行某些操作后重新加载整个表单

    当我从购物车中删除产品时 我想刷新我的表单我尝试了所有方法但没有成功 有什么方法可以做到这一点吗 我的 Cart 类显示了我的购物车中的产品 当我从购物车中删除产品时 我想刷新整个表单 但不知道该怎么做 我几乎尝试了所有方法 但仍然可以 完