📄 answers-learn.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><html> <head> <title>Answers: Learning Swing by Example (The Java™ Tutorials > Creating a GUI with JFC/Swing > )</title><style type="text/css"> .FigureCaption { margin-left: 1in; margin-right: 1in; font-family: sans-serif; font-size: smaller; text-align: justify; } #TopBar_bl { background: url(../../images/java_bar_bl.gif) 0 100% no-repeat; width: 100%; height: 60px; } #TopBar_br { background: url(../../images/java_bar_br.gif) 100% 100% no-repeat; width: 100%; height: 60px; } #TopBar_tl { background: url(../../images/java_bar_tl.gif) 0 0 no-repeat; width: 100%; height: 60px; } #TopBar_tr { background: url(../../images/java_bar_tr.gif) 100% 0 no-repeat; width: 100%; height: 60px; } #TopBar { background: #35556B url(../../images/java_bar.gif); margin: 10px 10px 0 10px; height:60px; min-width:700px; color: white; font-family: sans-serif; font-weight: bold; } @media print { #BreadCrumbs, #Download { display: none; } } #TopBar_right { line-height: 14px; float: right; padding-top: 2px; padding-right: 30px; text-align: center; } @media print { #TopBar_right { display: none; } } #TopBar_right a { font-size: 12px; margin: 3px; padding: 0; } #TopBar a:visited, #TopBar a:link { color: white; text-decoration: none; } #TopBar a:hover, #TopBar a:active { background-color: white; color: #35556B; } #BreadCrumbs { padding: 4px 5px 0.5em 0; font-family: sans-serif; float: right; } #BreadCrumbs a { color: blue; } #BreadCrumbs a:visited, #BreadCrumbs a:link { text-decoration: none; } #BreadCrumbs a:hover, #BreadCrumbs a:active { text-decoration: underline; } #PageTitle { margin: 0 5px 0.5em 0; color: #E76F00; font-family: sans-serif; font-weight: bold; font-size: 20px; } .LeftBar_shown { width: 13em; float: left; margin-left: 10px; margin-top: 4px; margin-bottom: 2em; } @media print { .LeftBar_shown { display: none; } } .LeftBar_hidden { display: none; } #Footer { padding-top: 10px; padding-left: 10px; margin-right: 10px; } .NavBit { padding: 4px 5px 0.5em 0; font-family: sans-serif; } @media print { .NavBit { display: none; } } #TagNotes { text-align: right; font-size: smaller; font-family: sans-serif; } @media print { #TagNotes a:visited, #TagNotes a:link { color: #35556B; text-decoration: none; } } #Contents a, .NavBit a, #TagNotes a { color: blue } #TagNotes a:visited, #TagNotes a:link, #Contents a:visited, #Contents a:link, .NavBit a:visited, .NavBit a:link { text-decoration: none; } #TagNotes a:hover, #TagNotes a:active, #Contents a:hover, #Contents a:active, .NavBit a:hover, .NavBit a:active { text-decoration: underline; } #Contents { float: left; font-family: sans-serif; } @media print { #Contents { display: none; } } @media screen { div.PrintHeaders { display: none; } } .linkLESSON, .nolinkLESSON { margin-left: 0.5em; text-indent: -0.5em } .linkAHEAD, .nolinkAHEAD, .linkQUESTIONS, .nolinkQUESTIONS { margin-left: 1.5em; text-indent: -0.5em } .linkBHEAD, .nolinkBHEAD { margin-left: 2.5em; text-indent: -0.5em } .linkCHEAD, .nolinkCHEAD { margin-left: 3.5em; text-indent: -0.5em } .nolinkLESSON, .nolinkAHEAD, .nolinkBHEAD, .nolinkCHEAD, .nolinkQUESTIONS { font-weight: bold; color: #E76F00; } .MainFlow_indented { margin-right: 10px; margin-left: 15em; margin-bottom: 2em; } .MainFlow_wide { margin-right: 10px; margin-left: 10px; margin-bottom: 2em; } @media print { .MainFlow_indented, .MainFlow_wide { padding-top: 0; margin-top: 10px; margin-right: 10px; margin-left: 0; } } h3, h4, h5 { color: #E76F00; font-family: sans-serif; } #ToggleLeft { display: none; } /t</style> </head><body> <div id=TopBar> <div id=TopBar_tr> <div id=TopBar_tl> <div id=TopBar_br> <div id=TopBar_bl> <div id=TopBar_right> <a target="_blank" href="http://java.sun.com/javase/6/download.jsp">Download the JDK</a> <br> <a href="../../search.html" target="_blank">Search the Tutorials</a> </div> <div class=PrintHeaders> <b>Trail:</b> Creating a GUI with JFC/Swing </div> </div> </div> </div> </div> </div> <div class=MainFlow_wide> <span id=BreadCrumbs> <a href=../../index.html target=_top>Home Page</a> > <a href=../index.html target=_top>Creating a GUI with JFC/Swing</a> </span> <div class=NavBit> <a href=../TOC.html>« Previous</a> • <a href=../TOC.html>TOC</a> </div> <div id=PageTitle>Answers: Learning Swing by Example</div> <blockquote></blockquote><h3>Questions</h3><BLOCKQUOTE><FONT COLOR="RED">Question 1:</FONT> On what thread should GUIs be created, to guarantee thread safety?<BR><FONT COLOR="GREEN">Answer 1:</FONT> The event-dispatching thread. <P><FONT COLOR="RED">Question 2:</FONT> Why should you be careful to minimize the time spent in event-handler code?<BR><FONT COLOR="GREEN">Answer 2:</FONT> Painting code also executes in the event-dispatchingthread. Therefore, event-handling code should execute quickly so that the program's GUI stays responsive. If anevent takes too long to execute, the GUI will freeze — that is, it won't repaint or respond to mouse clicks.<P><FONT COLOR="RED">Question 3:</FONT> What is the purpose of the <code>setLabelFor</code> method?<BR><FONT COLOR="GREEN">Answer 3:</FONT> The <code>setLabelFor</code> method provides a hint to assistivetechnologies, such as screen readers, that the label describes a particular component. <P><FONT COLOR="RED">Question 4:</FONT> What is the content pane?<BR><FONT COLOR="GREEN">Answer 4:</FONT> The content pane is the main container in <code>JApplet</code>, <code>JDialog</code>, and <code>JFrame</code> objects. <P><FONT COLOR="RED">Question 5:</FONT> Describe the three code segments that must be implemented for an event handler.<BR><FONT COLOR="GREEN">Answer 5:</FONT> <OL><li>In the declaration for the event handler class, one line of code specifies that the class either implements a listener interface or extends a class that implements a listener interface. For example: <blockquote><pre>public class MyClass implements ActionListener { </pre></blockquote><li>Another line of code registers an instance of the event handler class as a listener on one or more components. For example: <blockquote><pre>someComponent.addActionListener(instanceOfMyClass);</pre></blockquote><li>The event handler class has code that implements the methods in the listener interface. For example: <blockquote><pre>public void actionPerformed(ActionEvent e) { ...<I>//code that reacts to the action...</I> } </pre></blockquote></OL><P><FONT COLOR="RED">Question 6:</FONT> Which text component is best suited for controlling the format of a single line of user-entered text?<BR><FONT COLOR="GREEN">Answer 6:</FONT> <code>JFormattedTextField</code><P><FONT COLOR="RED">Question 7:</FONT> What is lazy image loading and why would you use it?<BR><FONT COLOR="GREEN">Answer 7:</FONT> With lazy image loading you only load images as they are needed. By loading images as needed, you reduce the application's initialization time; however, the downside is that the user may notice a delay as an image is loaded. </BLOCKQUOTE><h3>Exercises</h3><blockquote><FONT COLOR="RED">Question 1:</FONT> Write the code that creates a label displaying the following text, with the italics and font size as shown in this screenshot:<p><center><IMG SRC="../../figures/uiswing/QandE/Test1.png" WIDTH="193" HEIGHT="106" ALIGN="BOTTOM" NATURALSIZEFLAG="3" ALT=""></center></p><BR><FONT COLOR="GREEN">Answer 1:</FONT> Here's the code that sets the label text: <blockquote><pre>private static String labelText = "<html>The <em>last</em%gt; word is <font size=+2>big</font>.</html>";</pre></blockquote>For the full code, see <a target="source" href="examples/Test1.java"><font color="#bb000f"><code>Test1</code></font></a><a href="examples/Test1.java"><img src="../../images/sourceIcon.gif" width=11 height=11 border=0 align="ABSMIDDLE" alt="(in a .java source file)"></a>.<P><FONT COLOR="RED">Question 2:</FONT> Convert the <A HREF="../learn/examples/LunarPhases.java"><code>LunarPhases</code></A> example to use radio buttons instead of a combo box.<BR><FONT COLOR="GREEN">Answer 2:</FONT> See <A HREF="examples/LunarPhasesRB.java"><code>LunarPhasesRB</code></A>.<P><FONT COLOR="RED">Question 3:</FONT> Add a <B>Show Dialog</B> check box to the <code>VoteDialog</code> example so that the dialogs are shown only if this check box is selected.<BR><FONT COLOR="GREEN">Answer 3:</FONT> <P></blockquote></blockquote> </blockquote> </div> <div id=Footer> <span class=NavBit> <a href=../TOC.html>« Previous</a> • <a href=../TOC.html>TOC</a> </span><div id=TagNotes> Problems with the examples? Try <a target="_blank" href=../../information/run-examples.html>Compiling and Running the Examples: FAQs</a>. <br> Complaints? Compliments? Suggestions? <a target="_blank" href="http://developer.sun.com/contact/tutorial_feedback.jsp">Give us your feedback</a>.<br><br> <a target="_blank" href="../../information/copyright.html">Copyright</a> 1995-2006 Sun Microsystems, Inc. All rights reserved. <span id=Download></span></div> </div> <div class=PrintHeaders> <b>Previous page:</b> Questions and Exercises: Learning Swing by Example </div> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -