JAVA如何使文本框自动获取焦点

packagework;importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassSe... package work;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Serialnumber extends Applet implements ActionListener{
Label lb=new Label("请输入验证码");
Label a=new Label("-");
Label b=new Label("-");
Label c=new Label("-");
TextField txt1=new TextField(5);
TextField txt2=new TextField(5);
TextField txt3=new TextField(5);
TextField txt4=new TextField(5);
TextField txt5=new TextField(40);
Button btn=new Button("确定");
public void init(){
add(lb);
add(txt1);
add(a);
add(txt2);
add(b);
add(txt3);
add(c);
add(txt4);
add(btn);
add(txt5);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e){

if(txt1.getText().equals("fgnig")&&txt2.getText().equals("sfhsi")&&txt3.getText().equals("nvhir")&&txt4.getText().equals("vnihy"))

txt5.setText("序列号正确!");
else
txt5.setText("对不起,序列号错误,请您重新输入有效序列号!");
}
}
这是我的具体代码,请高手帮我实现一个功能,那就是如何在一个文本框输入完成之后(无论正确与否,只要是输入了一定的字符长度)光标自动移到下一个文本框。
展开
 我来答
godwin668
推荐于2018-05-10 · TA获得超过367个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:181万
展开全部

*********************************************************************

你的代码有点乱,没太看懂,先单就你提出的问题我编了个小程序,你可以看看。

一下程序实现功能:当在username(用户名)输入框中输入字符超过5个时,光标自动跳转到password(密码)输入框,类FocusTest.java的代码如下:

*********************************************************************

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class FocusTest extends JFrame {

 JTextField usernameText;

 JTextField passwordText;

 public FocusTest() {

  // User name

  JLabel usernameLabel = new JLabel("User name: ");

  usernameText = 培历new JTextField(20);

  JPanel usernamePanel = new JPanel(new FlowLayout());

  usernamePanel.add(usernameLabel);

  usernamePanel.add(usernameText);

  // Password

  JLabel passwordLabel 局喊= new JLabel("Password: ");

  passwordText = new JTextField(20);

  JPanel passwordPanel = new JPanel(new FlowLayout());

  passwordPanel.add(passwordLabel);

  passwordPanel.add(passwordText);

  // Username and Password

  JPanel inputPanel = new JPanel(new GridLayout(2, 1));

  inputPanel.add(usernamePanel);

  inputPanel.add(passwordPanel);

  this.add(inputPanel);

  this.pack();

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  this.setVisible(true);

  // usernameText addKeyListener

  usernameText.addKeyListener(new KeyAdapter() {

   public void keyTyped(KeyEvent e) {

    if (((JTextField) (e.getSource())).getText().length() >= 4) {

     passwordText.requestFocus();

    }

   }

  });

 }

 public static void main(String[] args) {

  new FocusTest();

 }

}

*********************************************************************

 运行结果桐中野如下:

*********************************************************************

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式