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

📄 ch17.htm

📁 Java_by_Example,初级经典例子哦,珍藏版本
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<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><H1><FONT SIZE=6 COLOR=#Ff0000>Chapter&nbsp;17</FONT></H1><H1><FONT SIZE=6 COLOR=#Ff0000>Graphical Text</FONT></H1><HR><P><CENTER><B><FONT SIZE=5><A NAME="CONTENTS">CONTENTS</A></FONT></B></CENTER><UL><LI><A HREF="#DealingwithGraphicalText">Dealing with Graphical Text</A><UL><LI><A HREF="#GettingFontAttributes">Getting Font Attributes</A><LI><A HREF="#ExampleDisplayingFontInformation">Example: Displaying Font Information</A><LI><A HREF="#GettingFontMetrics">Getting Font Metrics</A><LI><A HREF="#ExampleDisplayingFontMetrics">Example: Displaying Font Metrics</A></UL><LI><A HREF="#CreatingFonts">Creating Fonts</A><UL><LI><A HREF="#ExampleCreatingaFontwithMultipleStyles">Example: Creating a Font with Multiple Styles</A><LI><A HREF="#UsingtheFont">Using the Font</A><LI><A HREF="#ExampleDisplayingDifferentSizedFonts">Example: Displaying Different Sized Fonts</A></UL><LI><A HREF="#Summary">Summary</A><LI><A HREF="#ReviewQuestions">Review Questions</A><LI><A HREF="#ReviewExercises">Review Exercises</A></UL><HR><P>Now that you know how to draw all kinds of shapes in your applets,it's time to see how to use text and text fonts, as well. By combininggraphical text with other drawing methods, you can create attractiveapplets for your Web pages. In this chapter, you'll review howto display text, as well as how to create fonts and retrieve informationabout those fonts.<H2><A NAME="DealingwithGraphicalText"><FONT SIZE=5 COLOR=#Ff0000>Dealing with Graphical Text</FONT></A></H2><P>Earlier in this book, I said that because Windows is a device-independentgraphical environment, you can't assume much about how the user'ssystem is set up. At the time, I was talking about fonts and howdifferent fonts take up different amounts of space in the display.After giving you this good advice, I then proceeded to ignoreit. All the programs so far in this book display text stringswithout considering the font being used. Hopefully, you didn'trun into any troubles. If you did, you'll be delighted to knowthat in this section, you'll learn how to solve such problems.<H3><A NAME="GettingFontAttributes">Getting Font Attributes</A></H3><P>Every font that you can use with your Java applets is associatedwith a group of attributes that determines the size and appearanceof the font. The most important of these attributes is the font'sname, which determines the font's basic style. As shown in Figure17.1, there is a big difference between the Arial and Times Romanfonts as far as how they look. When you're setting up a font foruse, the name of the font is usually the first thing with whichyou're concerned.<P><A HREF="f17-1.gif"><B> Figure 17.1 : </B><I>The appearance of text is determined mostly by the font you choose.</I></A><P><P>You can easily get information about the currently active font.Start by calling the <TT>Graphics</TT> object's <TT>getFont()</TT>method, like this:<BLOCKQUOTE><PRE>Font font = g.getFont();</PRE></BLOCKQUOTE><P>The <TT>getFont()</TT> method returns a <TT>Font</TT> object forthe current font. Once you have the <TT>Font</TT> object, youcan use the <TT>Font</TT> class's various methods to obtain informationabout the font. Table 17.1 shows the most commonly used publicmethods of the <TT>Font</TT> class and what they do.<BR><P><CENTER><B>Table 17.1&nbsp;&nbsp;The </B><I>Font</I><B> Class'sMost Commonly Used Public Methods.</B></CENTER><P><CENTER><TABLE BORDER=1 WIDTH=80%><TR VALIGN=TOP><TD WIDTH=128><I><B>Methods</B></I></TD><TD WIDTH=462><I><B>Description</B></I></TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>getFamily()</TT></TD><TD WIDTH=462>Returns the family name of the font.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>getName()</TT></TD><TD WIDTH=462>Returns the name of the font.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>getSize()</TT></TD><TD WIDTH=462>Returns the size of the font.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>getStyle()</TT></TD><TD WIDTH=462>Returns the style of the font, where 0 is plain, 1 is bold, 2 is italic, and 3 is bold italic.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>isBold()</TT></TD><TD WIDTH=462>Returns a <TT>boolean</TT> value indicating whether the font is bold.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>isItalic()</TT></TD><TD WIDTH=462>Returns a <TT>boolean</TT> value indicating whether the font is italic.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>isPlain()</TT></TD><TD WIDTH=462>Returns a <TT>boolean</TT> value indicating whether the font is plain.</TD></TR><TR VALIGN=TOP><TD WIDTH=128><TT>toString()</TT></TD><TD WIDTH=462>Returns a string of information about the font.</TD></TR></TABLE></CENTER><P><H3><A NAME="ExampleDisplayingFontInformation">Example: Displaying Font Information</A></H3><P>As always, the best way to see how something works is to try itout yourself. With that end in mind, Listing 17.1 is an appletthat displays information about the currently active font usingmany of the methods described in Table 17.1. Listing 17.2 is theHTML document used to run the applet, and Figure 17.2 shows theapplet running under Appletviewer.<P><A HREF="f17-2.gif"><B> Figure 17.2 : </B><I>This is FontApplet running under Appletviewer.</I></A><P><HR><BLOCKQUOTE><B>Listing 17.1&nbsp;&nbsp;FontApplet.java: Getting InformationAbout a Font.<BR></B></BLOCKQUOTE><BLOCKQUOTE><PRE>import java.awt.*;import java.applet.*;public class FontApplet extends Applet{    public void paint(Graphics g)    {        Font font = getFont();        String name = font.getName();        String family = font.getFamily();        int n = font.getStyle();        String style;        if (n == 0)            style = &quot;Plain&quot;;        else if (n == 1)            style = &quot;Bold&quot;;        else if (n == 2)            style = &quot;Italic&quot;;        else            style = &quot;Bold Italic&quot;;        n = font.getSize();        String size = String.valueOf(n);        String info = font.toString();        String s = &quot;Name: &quot; + name;        g.drawString(s, 50, 50);        s = &quot;Family: &quot; + family;        g.drawString(s, 50, 65);        s = &quot;Style: &quot; + style;        g.drawString(s, 50, 80);        s = &quot;Size: &quot; + size;        g.drawString(s, 50, 95);

⌨️ 快捷键说明

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