📄 focus_focustrans.htm
字号:
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Moving the Focus to the Next or Previous Focusable Component (Java Developers Almanac Example)
</TITLE>
<META CONTENT="Patrick Chan" NAME="AUTHOR">
<META CONTENT="Code Examples from The Java Developers Almanac 1.4" NAME="DESCRIPTION">
<META CONTENT="Addison-Wesley/Patrick Chan" NAME="OWNER">
<META CONTENT="3/20/02" NAME="revision">
<META CONTENT="no-cache" HTTP-EQUIV="Pragma">
<LINK href="/almanac.css" media="screen" type="text/css" rel="stylesheet">
</HEAD>
<BODY>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
</TABLE>
<br>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
<TR>
<TD rowspan="3"><A HREF="/?l=ex"><IMG BORDER="0" ALIGN="BOTTOM" HSPACE="10" SRC="/egs/almanac14a.jpg"></A></TD><TD VALIGN="top">
<h1>The Java Developers Almanac 1.4</h1>
<br>
Order this book from <a href="/cgi-bin/scripts/redirect.pl?l=ex&url=http://www.amazon.com/exec/obidos/ASIN/0201752808/xeo">Amazon</a>.
</TD>
</TR>
<TR>
<TD align="right" valign="bottom">
<FORM method="get" action="/cgi-bin/search/find.pl">
<INPUT size="25" name="words" type="text"><INPUT value="Search" type="submit">
</FORM>
</TD>
</TR>
</TABLE>
<HR color="#6666cc">
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD valign="top"><script type="text/javascript">
<!--
google_ad_client = "pub-6001183370374757";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel = "4777242811";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "6666CC";
google_color_url = "6666CC";
google_color_text = "000000";
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></TD><TD> </TD><TD valign="top">
<DIV ALIGN="LEFT">
<A HREF="/">Home</A>
>
<A HREF="../index.html">List of Packages</A>
>
<A HREF="../java.awt/pkg.html">java.awt</A><font color="#666666" class="xsmall-font">
[78 examples]
</font>
>
<B><A HREF="../java.awt/pkg.html#Focus">Focus</A></B><font color="#666666" class="xsmall-font">
[16 examples]
</font>
</DIV><P>
<h3>e612. Moving the Focus to the Next or Previous Focusable Component</h3>
The methods to move the focus to the next or to the previous focusable
component are <code>Component.transferFocus()</code> and
<code>Component.transferFocusBackward()</code>.
<P> This example modifies a component so that pressing the space
bar or pressing F2 moves the focus to the next focusable component. Pressing
shift space or shift F2 moves the focus to the previous focusable
component.
<pre> // Bind space and shift space
component.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke(<font color="#0066ff"><i>"SPACE"</i></font>), nextFocusAction.getValue(Action.NAME));
component.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke(<font color="#0066ff"><i>"shift SPACE"</i></font>), prevFocusAction.getValue(Action.NAME));
// This key binding is required for text components. It hides the
// default typed space key binding in a text component. If you don't
// hide this key binding, typing the space key will insert a space into
// the text component (as well as move the focus).
// See <a href="../javax.swing.text/OverrideKey.html" class="eglink"><b>e1003</b> Overriding a Few Default Typed Key Bindings in a JTextComponent</a> for more details.
component.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke(<font color="#0066ff"><i>new Character(' ')</i></font>, 0), "unbound");
// Bind F2 and shift F2
component.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke(<font color="#0066ff"><i>"F2"</i></font>), nextFocusAction.getValue(Action.NAME));
component.getInputMap(JComponent.WHEN_FOCUSED).put(
KeyStroke.getKeyStroke(<font color="#0066ff"><i>"shift F2"</i></font>), prevFocusAction.getValue(Action.NAME));
// Add actions
component.getActionMap().put(nextFocusAction.getValue(Action.NAME), nextFocusAction);
component.getActionMap().put(prevFocusAction.getValue(Action.NAME), prevFocusAction);
// The actions
public Action nextFocusAction = new AbstractAction("Move Focus Forwards") {
public void actionPerformed(ActionEvent evt) {
((Component)evt.getSource()).transferFocus();
}
};
public Action prevFocusAction = new AbstractAction("Move Focus Backwards") {
public void actionPerformed(ActionEvent evt) {
((Component)evt.getSource()).transferFocusBackward();
}
};
</pre>
<P><table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td bgcolor="#6666cc" align="center"><font color="#ffffff">
<b>Related Examples</b></font></td>
</tr>
</table>
e606. <a class="eglink" href="focus_FindFocus.html?l=rel">
Determining Which Component or Window Has the Focus
</a>
<br>
e607. <a class="eglink" href="focus_NoFocus.html?l=rel">
Preventing a Component from Gaining the Focus
</a>
<br>
e608. <a class="eglink" href="focus_NoFocusWindow.html?l=rel">
Preventing a Window from Gaining the Focus
</a>
<br>
e609. <a class="eglink" href="focus_FocusEvents.html?l=rel">
Listening to All Focus Changes Between Components in an Application
</a>
<br>
e610. <a class="eglink" href="focus_FocusTravKeyComp.html?l=rel">
Setting Focus Traversal Keys in a Component
</a>
<br>
e611. <a class="eglink" href="focus_FocusTravKey.html?l=rel">
Setting Focus Traversal Keys for the Entire Application
</a>
<br>
e613. <a class="eglink" href="focus_NextFocus.html?l=rel">
Modifying the Focus Traversal Order
</a>
<br>
e614. <a class="eglink" href="focus_InitialFocus.html?l=rel">
Setting the Initial Focused Component in a Window
</a>
<br>
e615. <a class="eglink" href="focus_FindNextFocus.html?l=rel">
Finding the Next Focusable Component
</a>
<br>
e616. <a class="eglink" href="focus_TempFocus.html?l=rel">
Determining If a Focus Lost Is Temporary or Permanent
</a>
<br>
e617. <a class="eglink" href="focus_OppositeFocus.html?l=rel">
Determining the Opposite Component of a Focus Event
</a>
<br>
e618. <a class="eglink" href="focus_ValidateFocus.html?l=rel">
Validating a JTextField When Permanently Losing the Focus
</a>
<br>
e619. <a class="eglink" href="focus_RemoveFocus.html?l=rel">
Removing the Focus from the Application
</a>
<br>
e620. <a class="eglink" href="focus_WindowFocus.html?l=rel">
Activating a Keystroke When Any Component in the Window Has Focus
</a>
<br>
e621. <a class="eglink" href="focus_ChildFocus.html?l=rel">
Activating a Keystroke When Any Child Component Has Focus
</a>
<br>
<table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td align="left">
<br>
See also:
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Colors">
Colors
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Components">
Components
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Containers">
Containers
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Cursors">
Cursors
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Drawing">
Drawing
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Events">
Events
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Frames">
Frames
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#GridBagLayout">
GridBagLayout
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Images">
Images
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Shapes">
Shapes
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Simulating%20Events">
Simulating Events
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#Text">
Text
</a>
<a class="eglink" href="/egs/java.awt/pkg.html?l=rel#The%20Screen">
The Screen
</a>
</td>
</tr>
</table>
<br>
<br>
<FONT class="xsmall-font">
© 2002 Addison-Wesley.
</FONT></TD><TD> </TD><TD valign="top"><A href="http://compositesw.com/devzone?ref=javaalmanac"><IMG alt="Click Here" height="600" width="120" border="0" src="/csw_oad_120x600_final.gif"></A></TD>
</TR>
</TABLE>
</BODY>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META CONTENT="NO-CACHE" HTTP-EQUIV="PRAGMA">
</HEAD>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -