📄 ch4.htm
字号:
<HTML><HEAD><TITLE>developer.com - Reference</TITLE><META NAME="Author" CONTENT="developer.com"><META NAME="Keywords" CONTENT="javascript, ActiveX, VRML, Push, channel,push channel, applet, directory, news, community, developer, internet,intranet, java, java applet, J++, javabeans, java products, tools, javatools, JDK, java development kit, java development environment, JIT,JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources, API,browser, java documentation, CDF, Common Desktop Format, RDF, ResourceDescription Framework, Netcaster, Netcast, Castanet, meta-language, metadata,solaris, Solaris, SUN, CGI, Perl, Oracle, database, network, Netscape API,Apache, apache, SSL, mSQL, Netscape, Fasttrack, FastTrack,industry standard, ActiveX bridge, web, internet, site, sitedesign, microsoft, active server pages, asp, iis, nt, win95, 95, html, cgi,frontpage, business, corporate, vbscript, javascript, activex, isapi,database, access, sql, server, www, 3.0, 3.01, 3.02, 3.03, 3.04, 4.0,4.0b2, 4.01, 4.03, 4.04, connection, online, commerce, publisher,publishing, publish, webmaster, dynamic html, dhtml, windows 98, netscape,netscape software, shareware, magazines, jobs, japan, free, freeware, freestuff"><META NAME="description" CONTENT="Developer.com is the leading onlineservice for developers. It includes Gamelan, the official directory for Java, as wellas news, information, tutorials, and directories for other Internet technologiesincluding ActiveX, JavaScript, perl, VRML, Java Beans, push technologies, andother Internet and intranet technologies. Developer.com is also the home ofDeveloper Direct, the Professional Developer's Store, where developers canpurchase and download thousands of Web, authoring and other developmentproducts at some of today's lowest prices."><META NAME="distribution" CONTENT="global"><META NAME="resource-type" CONTENT="document"><META NAME="language" CONTENT="en"></HEAD><BODY BACKGROUND="/images/curve_r-wide.gif" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#DD0000" VLINK="#999999" ALINK="#FF0000"><TABLE><TR><TD VALIGN=TOP WIDTH=120><A HREF="/" ><IMG SRC="/images/masthead_r.gif" WIDTH="100" HEIGHT="78" BORDER="0"ALT="Developer.com Logo"></a></TD><TD><a target="resource window" href="http://adserver.developer.com/cgi-bin/accipiter/adclick.exe/AREA=DCBAN.REF/DT=null"><img src="http://adserver.developer.com/cgi-bin/accipiter/adserver.exe/AREA=DCBAN.REF/DT=null" HEIGHT="60" WIDTH="468" ALT="Click here to support our advertisers"><BR><CENTER>Click here to support our advertisers</CENTER></a></TD></TR></TABLE><!--outer table--><TABLE><!--outer table--><TR><!--outer table--><TD VALIGN="TOP"><!--navbar info --><table><tr><td><A HREF="http://www.developerdirect.com/" ><IMG SRC="/images/button_s.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>SHOPPING</b></font></a></td></tr><tr><td><A HREF="/community/jobs/c_jobs.html"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>JOB BANK</B></font></a></td></tr><tr><td><A HREF="http://www.classifieds2000.com/cgi-cls/display.exe?Developer+computer+searchcomputercategories"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>CLASSIFIEDS</B></font></a></td></tr><tr><td><A HREF="/directories/directories.html"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>DIRECTORIES</B></font></a></td></tr><tr><td><A HREF="/reference/"><IMG SRC="/images/button_r.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>REFERENCE</B></font></a><br><a href="/reference/r_library.html"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000">Online Library</a></font></td></tr><tr><td><A HREF="/classroom/"><IMG SRC="/images/button_r.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>LEARNING CENTER</B></font></a></td></tr><tr><td><A HREF="/journal/"><IMG SRC="/images/button_n.gif" width="15" height="11" BORDER="0"><B><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000">JOURNAL</font></B></a></td></tr><tr><td><A HREF="/news/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>NEWS CENTRAL</b></font></a></td></tr><tr><td><A HREF="/downloads/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>DOWNLOADS</b></font></a></td></tr><tr><td><A HREF="/community/" ><IMG SRC="/images/button_c.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>COMMUNITY</B></font></a></td></tr><tr><td><A HREF="/calendar/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>CALENDAR</b></font></a></td></tr><tr><td><A HREF="/about/"><IMG SRC="/images/button_a.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>ABOUT US</b></a></font></td></tr></table><table><tr><td><form action="/subscribe/list.cgi" method=post ><img src="/images/rule.gif" width="100" height="2"><br><B><FONT FACE="Arial, Helvetica" SIZE="-1">Journal:</b></font><br><input name='email' value='your e-mail' size="11"><input type='hidden' name='state' value='Subscribe'></td></tr><tr><td><input type='submit' value='Subscribe'><br><font size="-1">Get the weekly email highlights from the most popular journal for developers!<br><a href="http://www.developer.com/subscribe.html">Current issue</a><img src="/images/rule.gif" width="100" height="2"><input type='hidden' name='name' value='New Subscriber'></FORM></td></tr></table><!--/navbar--><font size="-1"><A HREF="http://www.developer.com">developer.com</a><BR><A HREF="http://www.developerdirect.com">developerdirect.com</a><BR><A HREF="http://www.htmlgoodies.com">htmlgoodies.com</a><BR><A HREF="http://www.javagoodies.com">javagoodies.com</a><br><A HREF="http://www.jars.com">jars.com</a><BR><a href="http://www.intranetjournal.com">intranetjournal.com</a><br><a href="http://www.javascripts.com">javascripts.com</a><br></font><!--outer table--></TD><!--outer table--><TD VALIGN="TOP"><BLOCKQUOTE><P><img src="/images/header_r.gif" width="440" height="50"><P><MAP NAME ="header_r2.gif.map"><AREA SHAPE ="RECT" HREF ="/reference/author.html" COORDS ="361,0,440,29"><AREA SHAPE ="RECT" HREF ="/reference/basic.html" COORDS ="254,0,360,29"><AREA SHAPE ="RECT" HREF ="/reference/help.html" COORDS ="183,0,251,29"><AREA SHAPE ="RECT" HREF ="/reference/cool.html" COORDS ="100,0,181,29"><AREA SHAPE ="RECT" HREF ="/reference/mybook.html" COORDS ="0,0,100,29"></MAP><MAP NAME ="header_r1.gif.map"><AREA SHAPE ="RECT" HREF ="/reference/personalize.html" COORDS ="339,0,439,29"></MAP><p><font face="Arial,Helvetica" size="-1" color="#006666"><A HREF="/reference/r_library.html"><B>All Categories</A> :</B><b><A HREF="/reference/r_java.html">Java</A></b></font><p> <META NAME="GENERATOR" CONTENT="Mozilla/3.0b5aGold (WinNT; I) [Netscape]"><H1><FONT COLOR=#FF0000>Chapter 4</FONT></H1><H1><B><FONT SIZE=5 COLOR=#FF0000>Enhancing the Spreadsheet Applet</FONT></B></H1><P><HR WIDTH="100%"></P><P><H3 ALIGN=CENTER><FONT COLOR="#000000"><FONT SIZE=+2>CONTENTS<A NAME="CONTENTS"></A></FONT></FONT></H3><UL><LI><A HREF="#OverviewofAWTPart2" >Overview of AWT: Part 2</A><UL><LI><A HREF="#WindowsandFrames" >Windows and Frames</A><LI><A HREF="#Menus" >Menus</A><LI><A HREF="#Dialogs" >Dialogs</A><LI><A HREF="#Colors" >Colors</A><LI><A HREF="#Fonts" >Fonts</A><LI><A HREF="#TheToolkitClass" >The Toolkit Class</A></UL><LI><A HREF="#IOandStreams" >I/O and Streams</A><UL><LI><A HREF="#StructureofthejavaioPackage" >Structure of the java.io Package</A></UL><LI><A HREF="#IOandSecurity" >I/O and Security</A><UL><LI><A HREF="#IOExceptions" >I/O Exceptions</A><LI><A HREF="#InputStreamClasses" >InputStream Classes</A><LI><A HREF="#OutputStreamClasses" >OutputStream Classes</A><LI><A HREF="#FilterOutputStreamClassesandFileOutpu" >FilterOutputStream Classes and FileOutputStream</A><LI><A HREF="#OtherOutputClasses" >Other Output Classes</A><LI><A HREF="#OtherIOClasses" >Other I/O Classes</A></UL><LI><A HREF="#Tutorial" >Tutorial</A><UL><LI><A HREF="#ClassOrganization" >Class Organization</A><LI><A HREF="#AddingtheColorDialog" >Adding the Color Dialog</A><LI><A HREF="#FontDialogBox" >Font Dialog Box</A><LI><A HREF="#TheFileDialogClass" >The FileDialog Class</A><LI><A HREF="#SavingaSpreadsheetFile" >Saving a Spreadsheet File</A><LI><A HREF="#OpeningaSpreadsheetFile" >Opening a Spreadsheet File</A></UL><LI><A HREF="#Summary" >Summary</A></UL><HR><P><FONT COLOR=#000000>The previous chapter laid the foundationsfor the spreadsheet applet to be developed throughout this partof the book. In creating this first version of the spreadsheet,<A HREF="ch3.htm" >Chapter 3</A>, "Building a SpreadsheetApplet," introduces many of the fundamental concepts of AWTprogramming. It also discusses exception handling and practicalways to handle errors in a Java application. However, this firstversion of the spreadsheet applet also includes elements suchas menus and frames that were not discussed at the time they werepresented. These concepts are expanded on in this chapter.</FONT><P>While exploring these aspects of Java programming, this chapterwill illustrate more features of the AWT package, and discussingthe Dialog classes will lead to the practical addition of dialogboxes to the spreadsheet applet. Custom dialog boxes will be createdfor the purposes of selecting the color and font of a spreadsheetcell; they will be accessed through an expanded menu and theirselections will be made through upgraded classes. This chapteralso includes an introduction to streams programming, which isused to add the capability of saving and reading a spreadsheetfile. Security issues related to file storage in Java will bean important part of this discussion.<H2><A NAME="OverviewofAWTPart2"><FONT SIZE=5 COLOR=#FF0000>Overviewof AWT: Part 2</FONT></A></H2><P>The previous chapter's version of the spreadsheet applet did notcover how to use the Frame and Menu classes. These features ofAWT are actually closely related. The Frame class also has a commonrelationship with the Dialog class because they both are fromthe same superclass, Window; therefore, dialog boxes will alsobe covered in this section.<P>AWT applications can also be enhanced through the support of multiplecolors and fonts. Using them can not only make an applet morevisually pleasing, but can also give the user more freedom incustomizing the spreadsheet's display. The Color, Font, and FontMetricsclasses that make this possible are, therefore, also an appropriatetopic of discussion here.<H3><A NAME="WindowsandFrames">Windows and Frames</A></H3><P>The Window class is used in AWT to create "popup" windowsthat appear outside the constraints of the normal browser areaallocated to an applet. The Window class is derived from the Containerclass and so can contain other components. Unlike applet componentstied directly to a browser page, Window classes are not restrictedto a prespecified area of the screen. Window objects can be resizedas their immediate requirements dictate. AWT can perform thisautomatically through the Window class's <TT>pack()</TT>method; it works with the Window layout (by default, BorderLayout)to arrive at the optimal presentation of the window, given itscontained components and screen resolution. Typically, <TT>pack()</TT>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -