java怎么让JTextField获取焦点,然后把光标定位在JTextField中

java怎么让JTextField获取焦点,然后把光标定位在JTextField中,第1张

一般在jframe中用如下代码实现:

in = new JTextField(40)

f.addWindowListener( new WindowAdapter() {

public void windowOpened( WindowEvent e ){

in.requestFocus()

}

})

f是你的Jframe对象,in是JTextField对象。

我理解的,你的要求是,当那个JTextField失去光标时候,重新获得光标?如果是,那么:

final JTextField a = new JTextField()

a.addFocusListener(new FocusAdapter() {

public void focusLost(FocusEvent ev) {

a.requestFocus()

}

})

如果不要的时候,在a.requestFocus()的前面加一个变量判断,设置变量为false的时候就不要在失去焦点的时候重新申请获得焦点。

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()

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/7880334.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存