<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Shifting Focus Problem' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Shifting Focus Problem' posted on the 'Java' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Sun, 19 May 2013 04:01:21 -0700</pubDate>
    <lastBuildDate>Sun, 19 May 2013 04:01:21 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Shifting Focus Problem</title>
      <link>http://www.programmersheaven.com/mb/java/429567/429567/shifting-focus-problem/</link>
      <description>Hello!!&lt;br /&gt;
&lt;br /&gt;
Below is the code of an applet where i have mapped the directional keys to increase and decrease the circles and image position and play a sound clip.&lt;br /&gt;
&lt;br /&gt;
The applet ran well but whenever i am adding any component like textbox,button or label the key events are not working.Th focus remains on the component and even if i try to disable the focus using setFocusable(false) it still doesn't work. How to make it work? &lt;br /&gt;
&lt;br /&gt;
Code :&lt;br /&gt;
&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
import java.awt.event.*;&lt;br /&gt;
import java.applet.*;&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;applet code=a.class align=right width=800 height=800&amp;gt;&lt;br /&gt;
&amp;lt;/applet&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
public class a extends Applet&lt;br /&gt;
implements KeyListener,FocusListener&lt;br /&gt;
{&lt;br /&gt;
int X=20,Y=30,xr=100,xy=100,r=70,r1=r,ix=200,iy=200,i;&lt;br /&gt;
Image image;&lt;br /&gt;
AudioClip audio;&lt;br /&gt;
String msg="key pressed";&lt;br /&gt;
//TextField t;&lt;br /&gt;
Button b;&lt;br /&gt;
public void init()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
//requestFocusInWindow();&lt;br /&gt;
//setLayout(null);&lt;br /&gt;
addKeyListener(this);&lt;br /&gt;
//requestFocus();&lt;br /&gt;
setBackground(Color.green);&lt;br /&gt;
setForeground(Color.blue);&lt;br /&gt;
image = getImage(getDocumentBase(), "image22.jpg");&lt;br /&gt;
audio = getAudioClip(getDocumentBase(), "chicken.au");&lt;br /&gt;
//t=new TextField();&lt;br /&gt;
//add(t);&lt;br /&gt;
//t.setBounds(500, 500, 100, 100);&lt;br /&gt;
b= new Button();&lt;br /&gt;
add(b);&lt;br /&gt;
&lt;br /&gt;
b.setFocusable(false);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void keyPressed(KeyEvent k)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
showStatus("KeyDown");&lt;br /&gt;
int key=k.getKeyCode();&lt;br /&gt;
switch(key) &lt;br /&gt;
{&lt;br /&gt;
case KeyEvent.VK_UP:&lt;br /&gt;
//showStatus("Move to Up");&lt;br /&gt;
//t.setFocusable(false);&lt;br /&gt;
&lt;br /&gt;
audio.play();&lt;br /&gt;
msg = msg + "&amp;lt;up arrow&amp;gt;";&lt;br /&gt;
r=r+6;&lt;br /&gt;
iy++;&lt;br /&gt;
break;&lt;br /&gt;
case KeyEvent.VK_DOWN:&lt;br /&gt;
//showStatus("Move to Down");&lt;br /&gt;
//t.setFocusable(false);&lt;br /&gt;
audio.play();&lt;br /&gt;
msg += "&amp;lt;DOWN arrow&amp;gt;";&lt;br /&gt;
r=r-6;&lt;br /&gt;
iy--;&lt;br /&gt;
break;&lt;br /&gt;
case KeyEvent.VK_RIGHT:&lt;br /&gt;
//showStatus("Move to Down");&lt;br /&gt;
//msg += "&amp;lt;DOWN arrow&amp;gt;";&lt;br /&gt;
ix++;&lt;br /&gt;
break;&lt;br /&gt;
case KeyEvent.VK_LEFT:&lt;br /&gt;
//showStatus("Move to Down");&lt;br /&gt;
//msg += "&amp;lt;DOWN arrow&amp;gt;";&lt;br /&gt;
ix--;&lt;br /&gt;
break;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
repaint();&lt;br /&gt;
}&lt;br /&gt;
public void keyReleased(KeyEvent k)&lt;br /&gt;
{&lt;br /&gt;
//audio.stop();&lt;br /&gt;
showStatus("Key Up");&lt;br /&gt;
}&lt;br /&gt;
public void keyTyped(KeyEvent k)&lt;br /&gt;
{&lt;br /&gt;
//t.setFocusable(false);&lt;br /&gt;
}&lt;br /&gt;
public void paint(Graphics g)&lt;br /&gt;
{&lt;br /&gt;
//g.drawString(msg,X,Y);&lt;br /&gt;
// g.drawOval(xr-(r/2), xr-(r/2), r, r);&lt;br /&gt;
g.fillOval(xr-(r/2), xr-(r/2), r, r);&lt;br /&gt;
g.drawOval(xr-(r1/2+5), xr-(r1/2+5), r1+10, r1+10);&lt;br /&gt;
g.drawImage(image, ix, iy, this);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/java/429567/429567/shifting-focus-problem/</guid>
      <pubDate>Thu, 20 Sep 2012 01:23:26 -0700</pubDate>
      <category>Java</category>
    </item>
  </channel>
</rss>