📄 j-j2me-9-6.shtml
字号:
menu3out.src="imagemaster/menu3.jpg";
menu4over.src="imagemaster/himenu4.jpg";
menu4out.src="imagemaster/menu4.jpg";
menu5over.src="imagemaster/himenu5.jpg";
menu5out.src="imagemaster/menu5.jpg";
menu6over.src="imagemaster/himenu6.jpg";
menu6out.src="imagemaster/menu6.jpg";
menu7over.src="imagemaster/himenu7.jpg";
menu7out.src="imagemaster/menu7.jpg";
menu8over.src="imagemaster/himenu8.jpg";
menu8out.src="imagemaster/menu8.jpg";
menu9over.src="imagemaster/himenu9.jpg";
menu9out.src="imagemaster/menu9.jpg";
menu10over.src="imagemaster/himenu10.jpg";
menu10out.src="imagemaster/menu10.jpg";
menu11over.src="imagemaster/himenu11.jpg";
menu11out.src="imagemaster/menu11.jpg";
menu12over.src="imagemaster/himenu12.jpg";
menu12out.src="imagemaster/menu12.jpg";
var mainblurb="主菜单";
var sectionblurb="章节菜单";
var feedbackblurb="给出此教程的反馈意见";
var previousblurb="上一屏";
var nextblurb="下一屏";
var nextsectionblurb="下一章";
topmainover.src="../i/h-main.gif";
topmainout.src="../i/main.gif";
bottommainover.src="../i/h-main.gif";
bottommainout.src="../i/main.gif";
topsectionover.src="../i/h-section.gif";
topsectionout.src="../i/section.gif";
bottomsectionover.src="../i/h-section.gif";
bottomsectionout.src="../i/section.gif";
topfeedbackover.src="../i/h-feedback.gif";
topfeedbackout.src="../i/feedback.gif";
bottomfeedbackover.src="../i/h-feedback.gif";
bottomfeedbackout.src="../i/feedback.gif";
toppreviousover.src="../i/h-previous.gif";
toppreviousout.src="../i/previous.gif";
bottompreviousover.src="../i/h-previous.gif";
bottompreviousout.src="../i/previous.gif";
topnextover.src="../i/h-next.gif";
topnextout.src="../i/next.gif";
bottomnextover.src="../i/h-next.gif";
bottomnextout.src="../i/next.gif";
topnextsectionout.src="../i/nextsection.gif";
topnextsectionover.src="../i/h-nextsection.gif";
bottomnextsectionout.src="../i/nextsection.gif";
bottomnextsectionover.src="../i/h-nextsection.gif";
}
function iOut(image)
{
if (browser=="N3")document[image].src=eval(image + "out.src");
}
function iOver(image)
{
if (browser=="N3")document[image].src=eval(image + "over.src");
}
// --></script><a href="#navskip"><img border="0" alt="跳至主目录" src="../i/c.gif" width="1" height="1"></a><!--#include virtual="/developerWorks/inc/tuto-inc/tuto-header.inc" --><!--#include virtual="/developerWorks/inc/tuto-inc/tuto-java-header.inc" --><br x="7"><img src="imagemaster/masthead.jpg" alt="J2ME:循序渐进" width="500" height="40"></td>
<td width="*" valign="bottom" align="right"><a border="0" href="../tutorial.zip"><img alt="下载教程 zip 文件" border="0" src="../i/icon-zip.gif" width="38" height="26"></a><a href=../tutorial_eng/index.shtml target=_blank><img alt="英文原文" border="0" src="../i/icon-source.gif" width="43" height="26"></a></td></tr><tr><td height="2" colspan="2"><img height="2" width="1" src="../i/c.gif"></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.shtml" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="topmain" width="77" height="15"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index9.shtml"><img alt="章节菜单" border="0" src="../i/section.gif" name="topsection" width="98" height="15"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-j2me-12-3.shtml"><img alt="给出此教程的反馈意见" border="0" src="../i/feedback.gif" name="topfeedback" width="80" height="15"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif" width="1" height="1"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="j-j2me-9-5.shtml"><img alt="上一屏" border="0" src="../i/previous.gif" name="topprevious" width="77" height="15"></a></TD><TD background="../i/sw-gold.gif"><img border="0" src="../i/xnext.gif" width="60" height="15"></TD></TR><TR><TD width="100%" colspan="5"></TD><TD width="108" height="1" bgcolor="#000000" align="right"><IMG alt="" height="1" width="108" src="../i/c.gif"></TD></TR><TR><TD colspan="5"></TD><TD align="right"><a border="0" onMouseOver="iOver('topnextsection'); iOver('bottomnextsection'); self.status=nextsectionblurb; return true;" onMouseOut="iOut('topnextsection'); iOut('bottomnextsection'); self.status=''; return true;" href="j-j2me-10-1.shtml"><img alt="下一章" src="../i/nextsection.gif" border="0" name="topnextsection" width="108" height="15"></a></TD></TR></TABLE><table bgcolor="ffffff" cellspacing="0" cellpadding="2" border="0" height="400" width="100%"><tr valign="bottom"><a name="navskip"></a><td height="25" colspan="4"><img border="0" height="25" width="562" src="imagemaster/titlebar9.jpg" alt="第九章:使用 KJava 事件处理的开发"></td></tr><tr><td bgcolor="ffffff" width="15"> </td><td bgcolor="ffffff" width="12"> </td><td valign="top" align="left" bgcolor="ffffff" width="*"><p><br x="7"><table cellspacing="0" cellpadding="0" border="0"><tr><td width="90%"><b><font size="4" face="Verdana, Arial, Helvetica">定义方法和事件处理程序</font></b></td><td width="200" align="right"><nobr><font size="1" face="Verdana, Arial, Helvetica">第 6 页(共 6 页)</font></nobr></td></tr></table><br x="7"><br x="7"><font size="2" face="Verdana, Arial, Helvetica"><p>
此外,<code style="font-family: Courier New, Courier, monospace; font-size: 12">main()</code>
定义了应用程序的主要入口。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
public static void main(String[] args)
</code></pre><p>默认的构造程序,<code style="font-family: Courier New, Courier, monospace; font-size: 12">Scribble
</code> 初始化成员变量,清屏并画出初始框架。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
public Scribble()
</code></pre><p><code style="font-family: Courier New, Courier, monospace; font-size: 12">paint()</code> 方法负责更新或刷新显示。它使用类变量
<code style="font-family: Courier New, Courier, monospace; font-size: 12">g</code> -- 一个 <code style="font-family: Courier New, Courier, monospace; font-size: 12">Graphics</code> 对象,类似于 Java 2
AWT 中使用的 Graphics 对象。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
private void paint()
</code></pre><p><code style="font-family: Courier New, Courier, monospace; font-size: 12">penDown()</code>
方法执行事件处理程序来处理在屏幕上放置笔的事件。它通过 X 和 Y 坐标来定位。在 Scribble
中,程序测试 Clear
或 Exit 按钮是否被按下,如果按下的话,就处理相应的事件。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
public void penDown(int x, int y)
</code></pre><p><code style="font-family: Courier New, Courier, monospace; font-size: 12">keyDown()</code> 方法处理那些在 Palm 设备的即兴书画框内随手写下的东西。传送到这个方法中的整型值 <code style="font-family: Courier New, Courier, monospace; font-size: 12">keyCode
</code> 就是输入的字符键值。在
Scribble 应用程序中,我们存储了成员变量 <code style="font-family: Courier New, Courier, monospace; font-size: 12">lastKey
</code> 中被按下的键,然后调用 <code style="font-family: Courier New, Courier, monospace; font-size: 12">paint()</code> 方法刷新屏幕。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
public void keyDown(int keyCode)
</code></pre><p><code style="font-family: Courier New, Courier, monospace; font-size: 12">penMove()</code> 方法处理在屏幕上拖动笔的事件。在 Scribble 中,它负责用笔绘画。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
public void penMove(int x, int y)
</code></pre><p>使用的最后一个方法 <code style="font-family: Courier New, Courier, monospace; font-size: 12">clearDrawingArea()</code>,在用户按下 Clear
按钮时由 <code style="font-family: Courier New, Courier, monospace; font-size: 12">penDown</code>
事件处理程序调用。由于它仅在 <code style="font-family: Courier New, Courier, monospace; font-size: 12">Scribble </code>类的内部使用,所以 <code style="font-family: Courier New, Courier, monospace; font-size: 12">clearDrawingArea()
</code> 是一个私有方法。
</p><pre><code style="font-family: Courier New, Courier, monospace; font-size: 12">
private void clearDrawingArea()
</code></pre><br x="7"></font></td></tr></table><TABLE border="0" cellpadding="0" cellspacing="0" width="100%"><TR><TD align="right" colspan="6"><a border="0" onMouseOver="iOver('topnextsection'); iOver('bottomnextsection'); self.status=nextsectionblurb; return true;" onMouseOut="iOut('topnextsection'); iOut('bottomnextsection'); self.status=''; return true;" href="j-j2me-10-1.shtml"><img alt="下一章" src="../i/nextsection.gif" border="0" name="bottomnextsection" width="108" height="15"></a></TD></TR><TR><TD width="100%" colspan="5"></TD><TD width="108" height="1" bgcolor="#000000" align="right"><IMG alt="" height="1" width="108" src="../i/c.gif"></TD></TR><TR><TD background="../i/sw-gold.gif"><a border="0" href="index.shtml" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="bottommain" width="77" height="15"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index9.shtml"><img alt="章节菜单" border="0" src="../i/section.gif" name="bottomsection" width="98" height="15"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-j2me-12-3.shtml"><img alt="给出此教程的反馈意见" border="0" src="../i/feedback.gif" name="bottomfeedback" width="80" height="15"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif" width="1" height="1"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topprevious'); iOver('bottomprevious'); self.status=previousblurb; return true;" onMouseOut="iOut('topprevious'); iOut('bottomprevious'); self.status=''; return true;" href="j-j2me-9-5.shtml"><img alt="上一屏" border="0" src="../i/previous.gif" name="bottomprevious" width="77" height="15"></a></TD><TD background="../i/sw-gold.gif"><img border="0" src="../i/xnext.gif" width="60" height="15"></TD></TR><TR><TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD></TR></TABLE><!--#include virtual="/developerWorks/inc/tuto-inc/tuto-footer.inc" --></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -