最近在做一个小型销售系统,在焦点方面用的很多,想问大家一下,如何在页面刚开始时焦点就在某个JTEXTFIELD中,在网上查了都说用requestFocus,但是我用了根本没效果,请哪位高手解决一下,小弟不甚感激

解决方案 »

  1.   

    写了个小测试程序,给你参考一下,由于只是测试程序,所以没什么其他效果import java.awt.*;
    import javax.swing.*;
    public class Test extends JFrame
    {
    private JTextField text1;
    private JTextField text2;
    private JTextField text3;
    public Test()
    {
    super("test window");
    this.setLayout(new FlowLayout());
    text1=new JTextField(20);
    text2=new JTextField(20);
    text3=new JTextField(20);
    this.add(text1);
    this.add(text2);
    this.add(text3);
    this.setSize(300,300);
    this.setVisible(true);
    text2.requestFocus();
    }
    public static void main(String args[])
    {
    new Test();
    }
    }
      

  2.   

    requestFocus方法要在窗体显示出来后再使用才有效果,如果组件所在窗体是不可见的,调用这个方法是无效的
      

  3.   

    对了
    如果你的textfield放在一个panel中,即使你的panel已经先设置了visible为true了也没用
    还得先设置frame的visible为true