2011-11-28 93 views
2

是否可以检查jtextfield是否已被选中/取消选定(即文本字段已被点击且光标现在在该字段内)?检查是否选择了JTextfield

//编辑 得益于以下这里的帮助是一个工作示例

import java.awt.event.FocusEvent; 
import java.awt.event.FocusListener; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

@SuppressWarnings("serial") 
public class test extends JFrame { 

private static JPanel panel = new JPanel(); 
private static JTextField textField = new JTextField(20); 
private static JTextField textField2 = new JTextField(20); 

public test() { 
    panel.add(textField); 
    panel.add(textField2); 
    this.add(panel); 
} 

public static void main(String args[]) { 

    test frame = new test(); 
    frame.setVisible(true); 
    frame.setSize(500, 300); 
    frame.setLocationRelativeTo(null); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    textField.addFocusListener(new FocusListener() { 

     @Override 
     public void focusGained(FocusEvent e) { 
      System.out.println("selected"); 
     } 

     @Override 
     public void focusLost(FocusEvent e) { 
      System.out.println("de-selected"); 
     } 
    }); 
    } 
} 
+1

请学习Java命名约定并严格遵守 – kleopatra

回答

6

已经超出了它,则需要使用focusGainedfocusLost事件看,以及何时取消选择(即获得/失去焦点)。

import java.awt.event.FocusEvent; 
import java.awt.event.FocusListener; 

import javax.swing.JTextField; 

public class Main { 

    public static void main(String args[]) { 
     final JTextField textField = new JTextField(); 
     textField.addFocusListener(new FocusListener() { 

      @Override 
      public void focusGained(FocusEvent e) { 
       //Your code here 
      } 

      @Override 
      public void focusLost(FocusEvent e) { 
       //Your code here 
      } 
     }); 

    } 
} 
+0

感谢您的代码,从中我创建了一个工作示例以上。 – Ricco

6

您可以尝试isFocusOwner()

+0

感谢,我从来没有见过这个命令之前,我就开始工作就可以了... – Ricco

2

是否有可能检查一个JTextField已经选择/取消选择

是,使用focusGainedfocusLost事件。

文本字段已被点击并且光标现在在该字段内?

使用isFocusOwner()如果此Component是焦点所有者,则返回true。

0
if(((JFrame)getTopLevelAncestor()).getFocusOwner() == textField) { 
    .... 
} 
相关问题