
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()
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)