【问题标题】:TextBox on Canvas画布上的文本框
【发布时间】:2014-12-24 09:02:51
【问题描述】:

我想在画布上绘制文本框。因为我想在该画布上制作注册表。我不想使用表单。

谢谢

【问题讨论】:

    标签: java-me canvas


    【解决方案1】:

    这是一个难题;您可能希望将数字键映射到它们所代表的字母或字符(请参阅this question)。这有两个问题:

    • 无法在配备 QWERTY 键盘的设备上使用;你需要实现一些检测这些的方法

    • (更糟)没有预测文本。这对于密码输入来说很好,对于用户名输入来说可能几乎可以接受,但是对于出于任何其他目的输入任何长度的任何文本,如果你不能使用 T9,你真的会惹恼你的用户。

    更好的解决方案是将文本作为文本框绘制在画布上,但是当用户激活它时,从画布切换到全屏TextBox。这允许用户像往常一样在平台上输入文本,让您的生活更轻松(无需您自己的实现进行调试)。您甚至可以提示您要输入的内容,例如号码或电子邮件地址。

    【讨论】:

      【解决方案2】:

      如果您只是为了良好的 GUI 目的而实现画布,那么 你可以通过框架。

      许多可用于 j2me 开发的框架。我建议LWUIT 最适合开发 UI,并使用Resource Editor 设计 UI。如果您需要 LWUIT 最新的源代码,请查看 here 并构建它。或者他们正式发布LWUIT 1.4。 LWUIT 存储库甚至 LWUIT 1.4 包中提供了一些示例应用程序。

      J2ME 中还有其他可用的框架

      J2ME PolishJ4ME

      【讨论】:

        【解决方案3】:

        尝试使用 scipt

        <canvas id="myCanvas" width="600" height="200" style="border: 3px solid green;"></canvas>
            <script>
              var canvas = document.getElementById("myCanvas");
              var context = canvas.getContext("2d");
        
              context.font = "italic bold 40pt Calibri";
              context.fillStyle = "red";
              context.strokeStyle = "blue";
              context.fillText("LUCKY", 100, 50);
              context.strokeText("LUCKY", 100, 100)
            </script>
        

        【讨论】:

          猜你喜欢
          • 2017-06-28
          • 2012-07-22
          • 1970-01-01
          • 1970-01-01
          • 2021-10-27
          • 2012-03-13
          • 1970-01-01
          • 1970-01-01
          • 2016-06-19
          相关资源
          最近更新 更多