Article ID: 190301
Article Last Modified on 6/14/2006
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class TestKeyTyped extends Applet
{
TestPanel myTestPanel;
public void init()
{
myTestPanel = new TestPanel();
add(myTestPanel);
}
}
class TestPanel extends Panel implements KeyListener
{
TextArea myTextArea;
TestPanel()
{
setLayout(new BorderLayout());
add("West", new Label("Lower case \'a\' should change to upper "
+ "case \'A\' and \'%\' should be consumed:"));
myTextArea = new TextArea(1, 25);
add("Center", myTextArea);
myTextArea.addKeyListener(this);
}
public void keyTyped(KeyEvent e)
{
char ch = e.getKeyChar();
if (ch == 'a')
{
e.setKeyChar('A'); // Bug: Has no effect within
// keyTyped
}
else if (ch == '%')
{
e.consume(); // Bug: Has no effect
// within keyTyped
}
else
{
e.setKeyChar(ch); // Bug: Has no effect within
// keyTyped
}
System.out.println("Modified event to be: "+e+
" Consumed:"+e.isConsumed());
}
public void keyPressed(KeyEvent e)
{
// WORKAROUND
// Cutting the above code from the keyTyped method
// and pasting it here will cause the setKeyChar and
// consume calls to work.
}
public void keyReleased(KeyEvent e)
{
}
}
<applet name="TestKeyTyped" code="TestKeyTyped" width="600" height="50" align="Top"> </applet>
Additional query words: KeyListener keyTyped KeyEvent TextArea setKeyChar consume
Keywords: kbbug kbnofix kbjava kbawtpkg kbcode KB190301