JAVA中焦点怎么改变

2024-12-16 17:29:10
推荐回答(4个)
回答1:

Java编码中焦点改变问题,做个登陆界面案例,输入用户名的是JCombobox;输入密码是JPasswordText;当软件启动的时候,让光标焦点默认在密码输入框内代码如下:

import java.awt.*;
import javax.swing.*;
public class requestFocusLnWindowDemo extends JFrame{
    public requestFocusLnWindowDemo() {
        Container  c = this.getContentPane();
        c.setLayout(new BorderLayout());
        JTextField j = new JTextField("希望光标在下面",10);
        final JTextField j1 = new JTextField(10);
        c.add(j,BorderLayout.NORTH);
        c.add(j1,BorderLayout.SOUTH);
        this.setSize(300,200);
        this.setLocationRelativeTo(null);//这句可以使窗口在屏幕中间显示
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                j1.requestFocusInWindow();
            }
        });      
    }
    public static void main(String []args){
        new requestFocusLnWindowDemo();
    }
}

回答2:

java swing中改变焦点的方法是:
全部初始化之后,把分发事件的焦点事件设置为true,如下:
jTextField.dispatchEvent(new FocusEvent(jTextField,FocusEvent.FOCUS_GAINED,TRUE));
然后在用requestFocusInWindow()这个方法来获取焦点,如下:
jTextField.requestFocusInWindow();

有关用法请参考:http://docs.oracle.com/javase/7/docs/api/

回答3:

这个可以试一下,不成功再追问
JPanel panel=new JPanel();
…………
panel.requestFocusInWindow(); //获取焦点

回答4:

JPanel panel=new JPanel();
…………
panel.requestFocusInWindow(); //获取焦点