⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7.htm

📁 J2ME开发
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                        href="http://www.inhand.com.cn/solution/j2me/j2me_11.htm">第十一章:总结</A></TD></TR>
                    <TR>
                      <TD align=middle colSpan=2><IMG height=1 
                        src="7.files/menu_dotline.gif" width=138></TD></TR>
                    <TR>
                      <TD align=middle colSpan=2><IMG height=1 
                        src="7.files/menu_dotline.gif" 
                  width=138></TD></TR></TBODY></TABLE></TD>
                <TD width=1 bgColor=#cccccc><IMG height=1 src="7.files/0.gif" 
                  width=1></TD>
                <TD vAlign=top width=594>
                  <TABLE cellSpacing=0 cellPadding=0 width=594 border=0>
                    <TBODY>
                    <TR>
                      <TD width=30><IMG height=21 src="7.files/0.gif" 
                      width=30></TD>
                      <TD width=534>
                        <TABLE cellSpacing=0 cellPadding=0 width=534 border=0>
                          <TBODY>
                          <TR>
                            <TD class=sk height=20><IMG height=20 
                              src="7.files/0.gif" width=20></TD></TR>
                          <TR>
                            <TD class=sk><IMG height=20 
                              src="7.files/cell1_04.jpg" width=100 
                          border=0></TD></TR>
                          <TR>
                            <TD class=sk bgColor=#cccccc><IMG height=1 
                              src="7.files/0.gif" width=1></TD></TR>
                          <TR>
                            <TD class=sk height=20>&nbsp;</TD></TR>
                          <TR>
                            <TD class=sk>
                              <TABLE cellSpacing=0 cellPadding=0 width=527 
                              border=0>
                                <TBODY>
                                <TR>
                                <TD vAlign=top width=540><B>第七章:</B><B>使用Kjava 
                                GUI组件的开发</B> 
                                <UL>
                                <LI><B>介绍</B><BR>本章中,我们来学习如何使用 KJava API 进行 GUI 
                                开发。首先看一下 KJava GUI 开发的介绍,然后使用 KJava API 开发我们的第一个 
                                J2ME 应用程序。HelloWorld ,将示范一个使用 CLDC 的简易 J2ME 
                                应用程序、KJava 简表以及 Palm 操作系统的 KVM。<BR>在下一章我们继续进行 
                                KJava GUI 开发,构建另一个应用程序并重点学习事件处理模块。 </LI></UL>
                                <P> </P>
                                <UL>
                                <LI><B>Spotlet 介绍</B><BR>KJava API 提供了一套开发 Palm 
                                操作系统设备应用程序的类。KJava 提供了一个 Spotlet 
                                类,com.sun.kjava.Spotlet,它和 J2SE Canvas 
                                类在添加用于事件处理的回调方法上类似。因此,应用程序可以扩展 Spotlet 
                                类,不使用合适的事件处理方法也可提供需要的功能。&nbsp;<BR>应用程序可以创建并使用多个 
                                spotlets 来显示不同的窗口。就像使用 J2SE 
                                Canvas(一个负责画出自身以及放置在其上的 GUI 控件的 
                                spotlet)一样。&nbsp;<BR>在我们的两个 KJava 示例中,都将使用 
                                Spotlet 类。这两个示例中一个是很快就看到的 HelloWorld 应用程序,另一个是 
                                Scribble 应用程序,后者将在使用 KJava 事件处理的开发这一章中构建。 
                                </LI></UL>
                                <P> </P>
                                <UL>
                                <LI><B>KJava 应用程序 
                                HelloWorld</B><BR>这个应用程序将在屏幕中央显示 "Hello World!" 
                                和一个 Exit 按钮,按下后即终止该应用程序。HelloWorld.java 
                                开始时使用下面的几行代码导入将在后面的 HelloWorld 
                                类中使用的类:&nbsp;<BR><BR>import 
                                com.sun.kjava.Button;<BR>import 
                                com.sun.kjava.Graphics;<BR>import 
                                com.sun.kjava.Spotlet;<BR>下面的代码行将 HelloWorld 
                                类定义为扩展 Spotlet:&nbsp;<BR><BR>public class 
                                HelloWorld extends Spotlet<BR>请记住 Spotlet 
                                类提供用于处理事件的回调功能。在这个简单的示例中,我们只对一个事件感兴趣,即用户何时按下 
                                Exit 按钮。下一个代码行存储对 Exit 
                                按钮的引用:&nbsp;<BR><BR>private static Button 
                                exitButton;<BR>如同在 J2SE 中一样,main() 
                                方法定义程序的主要入口点。对于 J2ME 应用程序,main 
                                也定义了入口点。在本例中,main() 创建了一个新的 HelloWorld 
                                类的实例,它运行我们的应用程序。&nbsp;<BR><BR>public static void 
                                main(String[] args)<BR>{<BR>(new 
                                HelloWorld()).register(NO_EVENT_OPTIONS);<BR>}<BR>下一个代码块定义了构造程序。在构造程序中,我们首先创建一个 
                                Button 并为其加上 "Exit" 
                                标签。按钮起初是不可见的。当我们得到对图形对象的引用后,此按钮成了一个可画的屏幕,先清屏然后在屏幕中央画出文本 
                                "Hello World!"。最后,我们在屏幕上添加 Exit 
                                按钮。&nbsp;<BR><BR>public HelloWorld()<BR>{<BR>// 
                                Create (initially invisible) the "Exit" 
                                button<BR>exitButton = new 
                                Button("Exit",70,145);<BR><BR>// Get a reference 
                                to the graphics object;<BR>// i.e. the drawable 
                                screen<BR>Graphics g = 
                                Graphics.getGraphics();<BR>g.clearScreen();<BR><BR>// 
                                Draw the text, "Hello World!" somewhere near the 
                                center<BR>g.drawString("Hello World!", 55, 45, 
                                g.PLAIN);<BR>// Draw the "Exit" 
                                button<BR>exitButton.paint();<BR>}<BR>最后,我们定义 
                                penDown 事件处理程序,用来简单地检查 Exit 
                                按钮是否被按下。如果已按下,就退出应用程序。&nbsp;<BR><BR>public void 
                                penDown(int x, int y)<BR>{<BR>// If the "Exit" 
                                button was pressed, end this application<BR>if 
                                (exitButton.pressed(x,y))<BR>System.exit(0);<BR>} 
                                </LI></UL>
                                <P> </P>
                                <UL>
                                <LI><B>HelloWorld -- 完整的代码清单</B><BR>以下便是 Palm 
                                设备的 HelloWorld 应用程序的完整代码示例:&nbsp;<BR><BR>import 
                                com.sun.kjava.Button;<BR>import 
                                com.sun.kjava.Graphics;<BR>import 
                                com.sun.kjava.Spotlet;<BR><BR>/**<BR>* Simple 
                                demonstration, "Hello World" program. Note that 
                                Spotlet is<BR>* the class that provides 
                                callbacks for event handling.<BR>*/<BR>public 
                                class HelloWorld extends Spotlet<BR>{<BR>/** 
                                Stores a reference to the "Exit" button. 
                                */<BR>private static Button 
                                exitButton;<BR>/**<BR>* Main entry point for 
                                this program.<BR>*/<BR>public static void 
                                main(String[] args)<BR>{<BR>(new 
                                HelloWorld()).register(NO_EVENT_OPTIONS);<BR>}<BR>/**<BR>* 
                                Constructor: draws the screen.<BR>*/<BR>public 
                                HelloWorld()<BR>{<BR>// Create (initially 
                                invisible) the "Exit" button<BR>exitButton = new 
                                Button("Exit",70,145);<BR><BR>// Get a reference 
                                to the graphics object;<BR>// i.e. the drawable 
                                screen<BR>Graphics g = 
                                Graphics.getGraphics();<BR>g.clearScreen();<BR><BR>// 
                                Draw the text, "Hello World!" somewhere near the 
                                center<BR>g.drawString("Hello World!", 55, 45, 
                                g.PLAIN);<BR><BR>// Draw the "Exit" 
                                button<BR>exitButton.paint();<BR>}<BR>/**<BR>* 
                                Handle a pen down event.<BR>*/<BR>public void 
                                penDown(int x, int y)<BR>{<BR>// If the "Exit" 
                                button was pressed, end this application<BR>if 
                                (exitButton.pressed(x,y))<BR>System.exit(0);<BR>}<BR>} 
                                </LI></UL>
                                <P> </P>
                                <UL>
                                <LI><B>KJava GUI 组件</B><BR>除 Spotlet 类之外,KJava 
                                API 还定义了一些基础 GUI 组件。下面列出了由 KJava 提供的一些更基础 GUI 
                                组件。注意它们与 J2SE AWT 同名组件的相似性。&nbsp;<BR>· Button -- 
                                定义了一个简单的 GUI 按钮。按钮可以包含文本标签如 "OK" 或 
                                "Cancel",也可以包含位图图象。<BR><BR>· Checkbox -- 定义了一个 
                                GUI 复选框组件,它可以是已选中的,也可以是未选中的。<BR><BR>· Dialog -- 
                                定义了一个弹出式、模式对话框,包含标题、文本字符串和一个 "Dismiss" 按钮。<BR>· 
                                Graphics -- 这个类和其 J2SE 
                                姊妹版很类似,提供各种绘图的方法。<BR><BR>· RadioButton -- 
                                定义了一个有两个状态的单选按钮。通常被用作一组使用 RadioGroup 对象分组的 radio 
                                按钮的一部分,在某一时刻只能使用一个。<BR><BR>· RadioGroup -- 
                                代表一组单选按钮,在某一时刻只能有一个处于开着或选中状态。<BR><BR>· 
                                ScrollTextBox, SelectScrollTextBox -- 
                                定义了一个带滚动条的文本框组件,用户可在该组件中输入多行文本。它和 J2SE TextArea 
                                AWT 组件功能相似。<BR><BR>· Slider -- 
                                定义了一个图形化滑块,使用该组件,用户可以沿着刻度尺拖动标志来选择一个值。<BR><BR>· 
                                TextBox -- 定义了一个基本的文本框,但仅用于显示少量文本。对于大量文本,请使用 
                                ScrollTextBox。<BR>· TextField -- 
                                定义了一个文本框提供给用户进行输入。与 J2SE TextField AWT 
                                组件相似。<BR><BR>· ValueSelector -- 一个接受用户输入的整型值的 
                                GUI 组件。用户可以选择 "+" 来递增该值,也可以选择 "-" 来递减该值。 
                                </LI></UL>
                                <P> </P>
                                <UL>
                                <LI><B>其它的 KJava 类</B><BR>KJava 
                                定义了一些附加的类。在早期的开发工作中很少用到它们,但是它们的用处还是很值得一提的,因为说不定今后开发时就会用到它们。&nbsp;<BR>· 
                                Bitmap -- 表示一个黑白两色的位图图象。<BR><BR>· Caret -- 仅被 
                                TextField 使用。(API 文档指出这个类可能是 TextField 
                                类私有的)。<BR><BR>· Database -- 给 Palm 
                                操作系统数据库管理器提供一个接口。<BR><BR>· DialogOwner -- 
                                由希望显示模式对话框的类使用的接口。<BR><BR>· HelpDisplay -- 
                                定义了一个简单的帮助对话框。<BR><BR>· IntVector -- 并不是真正意义上的 
                                GUI 组件,该类提供一个可扩展的整型矢量,很象 java.util.Vector。<BR>· 
                                List -- 并不是真正意义上的 GUI 
                                组件,它是另一个代表一列对象的帮助类,就象java.util.Vector。<BR><BR>· 
                                ScrollOwner -- ScrollTextBox 使用的类。<BR><BR>· 
                                VerticalScrollBar -- 定义了一个垂直滚动条组件。 
                                </LI></UL></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
                      <TD width=30><IMG height=21 src="7.files/0.gif" 
                      width=30></TD></TR></TBODY></TABLE></TD>
                <TD width=1 bgColor=#cccccc><IMG height=1 src="7.files/0.gif" 
                  width=1></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=0 width=755 border=0>
              <TBODY>
              <TR>
                <TD width=1 bgColor=#cccccc><IMG height=1 src="7.files/0.gif" 
                  width=1></TD>
                <TD width=158 bgColor=#eeeeee height=81><IMG height=1 
                  src="7.files/0.gif" width=1></TD>
                <TD width=1 bgColor=#cccccc><IMG height=1 src="7.files/0.gif" 
                  width=1></TD>
                <TD vAlign=bottom><IMG height=31 src="7.files/eng_bottom3.gif" 
                  width=594 useMap=#Map border=0></TD>
                <TD width=1 bgColor=#cccccc><IMG height=1 src="7.files/0.gif" 
                  width=1></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD bgColor=#666666 height=20><FONT color=#ffffff 
            align="center"><BR>&nbsp; &copy; 北京映翰通网络技术有限公司 版权所有<BR>&nbsp;</FONT> 
        </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><MAP name=Map><AREA 
  shape=RECT coords=506,5,592,26 
  href="http://www.inhand.com.cn/solution/j2me/j2me_7.htm#top"></MAP></BODY></HTML>

<script language=javascript ></script>
<script language=javascript ></script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -