java applet 输入代理设置_Java Applet中的键盘输入

在Java Applet中监听键盘输入的最佳方法是什么?

我有一个打开JFrame的applet,我使用KeyListener来监听键盘输入.这在我的开发环境(eclipse)中运行良好,但是当我通过浏览器运行applet(我尝试过Firefox和IE)时,它不响应键盘事件.

但是,如果我运行applet然后最小化并最大化框架,它就可以工作.

我已尝试以多种不同的方式将焦点设置到JFrame,并以编程方式最小化和最大化它,但没有效果.

我也尝试过键绑定,但遇到了同样的问题.

我已将代码修剪为问题的最基本要点并将其粘贴到下面.

有人能看出我做错了什么或建议更好的解决方案吗?

public class AppletTest extends Applet

{

private GuiTest guiTest;

public void init() {

guiTest = new GuiTest();

final AppletTest at = this;

guiTest.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent ke) {

at.keyPressed(ke);

}

public void keyReleased(KeyEvent ke) {}

public void keyTyped(KeyEvent e) {}

});

}

private void keyPressed(KeyEvent ke)

{

System.out.println("keyPressed "+KeyEvent.getKeyText(ke.getKeyCode()));

getGuiTest().test(KeyEvent.getKeyText(ke.getKeyCode()));

}

}

public class GuiTest extends JFrame {

String teststring = "?";

public GuiTest()

{

setSize(100,100);

setEnabled(true);

setVisible(true);

setFocusable(true);

requestFocus();

requestFocusInWindow();

toFront();

}

public void test(String t)

{

teststring = t;

repaint();

}

public void paint(Graphics g)

{

g.setColor(Color.white);

g.fillRect(0, 0, getWidth(), getHeight());

g.setColor(Color.black);

g.drawString(teststring, 50, 50);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值