如何用键盘控制panel的焦点的移动 有个问题问下大家,我现在一个画面上有许多panel,需要增加个功能:如果某个panel获得了焦点,此时我需要用键盘的上下左右来操作焦点移动,例如按下左键,焦点移动到左边那个panel上去,其他类似。请问这个如何操作呢?计划是注册个addKeyListener事件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //伪代码,有些方法自己查apiclass MyFrame extends Frame implements KeyListener{Panel[][] p=new Panel[3][3];//假设3*3个面板int x;int y; public MyFrame(){ x=y=0; //循环i,j p[i][j] = new Panel(); p[i][j].addKeyListener(this); } pubic void keyPressed(....){ if(上) y--; else(下) y++; else(左) x--; else ... //控制x,y越界,回到0-2 .... p[x][y].requestCursor();//获取焦点 }} p[x][y].requestCursor();//获取焦点 这句改为p[x][y].requestFocus();了可以吧. 那些panel是不规则的,比如说一个大panel的上方有2个小panel。 是否可以在我发布的软件中,附加jdk 垃圾回收和finalize() 释放swt中GC对象出错,不知何原因。请高手指教! java 中 tmvc 是做什么用的? 高分 一个模拟程序 给点建议 请进 各位高手帮帮忙吧 请教XP下JDK如何配置! 求教:有没有可能用java把IE弹出页面的关闭按钮失效。 哪位哥哥姐姐知道java程序设计之网络编程的课后习题答案 请问一个c语言定义的数在java中怎样正确识别? 关于字符转码的问题 请大虾们帮我做做面试题。
class MyFrame extends Frame implements KeyListener{
Panel[][] p=new Panel[3][3];//假设3*3个面板
int x;
int y;
public MyFrame(){
x=y=0;
//循环i,j
p[i][j] = new Panel();
p[i][j].addKeyListener(this);
}
pubic void keyPressed(....){
if(上) y--;
else(下) y++;
else(左) x--;
else ...
//控制x,y越界,回到0-2
....
p[x][y].requestCursor();//获取焦点 }
}
这句改为p[x][y].requestFocus();了可以吧.