回车执行Tab功能

lightyear307 2008-04-23 08:29:09
我在程序中写有10个JTextField控件,现在我想通过按下回车键,实现光标直接跳转到下一个控件的功能(就和按下Tab的功能一样),但是在java的KeyPress事件响应中不知道应该如何实现,我将我的一部分程序发上来,希望高人能够给我一个代码的说明.我希望有人能够拿走这80分


import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class keyevent extends JPanel implements KeyListener
{
JTextField b[]=new JTextField[10];
keyevent()
{
for(int i=0;i<=9;i++)
{
b[i]=new JTextField(""+i);
b[i].addKeyListener(this);
add(b[i]);
}
}

public void keyPressed(KeyEvent e){}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
...全文
149 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiazhengjing 2008-04-23
  • 打赏
  • 举报
回复
我给你个例子,感觉你的程序结构不好,你最好改改。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//定义自己的JTextField类
class MyTextField extends JTextField {
MyTextField(int len) {
super(len);
//添加事件监听,使用匿名类
addKeyListener( new KeyAdapter() {
//当回车时候实现tab功能
public void keyPressed(KeyEvent evt){
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER)
transferFocus();
}
});
}
}

public class Test{
public static void main(String args[]){

JFrame jf = new JFrame("hello");
MyTextField f1 = new MyTextField(10);
MyTextField f2 = new MyTextField(10);
jf.add(f1,"North");
jf.add(f2,"South");
jf.setSize(100,100);
jf.setVisible(true);
}
}

jiazhengjing 2008-04-23
  • 打赏
  • 举报
回复
public void keyPressed(KeyEvent evt) {
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER)
transferFocus();}
lightyear307 2008-04-23
  • 打赏
  • 举报
回复
老兄啊,首先这里肯定不是用JTextField[i]. 如果用b[i].也只有一个setFocusable(true);不过我试过了,不行,没有效果,写不写看起来一样啊
南南北北 2008-04-23
  • 打赏
  • 举报
回复
这东西不熟悉,应该是JTextField[i].setFocus()一类的吧...

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧