【发布时间】:2014-12-24 09:02:51
【问题描述】:
我想在画布上绘制文本框。因为我想在该画布上制作注册表。我不想使用表单。
谢谢
【问题讨论】:
我想在画布上绘制文本框。因为我想在该画布上制作注册表。我不想使用表单。
谢谢
【问题讨论】:
这是一个难题;您可能希望将数字键映射到它们所代表的字母或字符(请参阅this question)。这有两个问题:
无法在配备 QWERTY 键盘的设备上使用;你需要实现一些检测这些的方法
(更糟)没有预测文本。这对于密码输入来说很好,对于用户名输入来说可能几乎可以接受,但是对于出于任何其他目的输入任何长度的任何文本,如果你不能使用 T9,你真的会惹恼你的用户。
更好的解决方案是将文本作为文本框绘制在画布上,但是当用户激活它时,从画布切换到全屏TextBox。这允许用户像往常一样在平台上输入文本,让您的生活更轻松(无需您自己的实现进行调试)。您甚至可以提示您要输入的内容,例如号码或电子邮件地址。
【讨论】:
如果您只是为了良好的 GUI 目的而实现画布,那么 你可以通过框架。
许多可用于 j2me 开发的框架。我建议LWUIT 最适合开发 UI,并使用Resource Editor 设计 UI。如果您需要 LWUIT 最新的源代码,请查看 here 并构建它。或者他们正式发布LWUIT 1.4。 LWUIT 存储库甚至 LWUIT 1.4 包中提供了一些示例应用程序。
J2ME 中还有其他可用的框架
【讨论】:
尝试使用 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>
【讨论】: