문제

나는 Java 프로젝트가 필요한 키를 누를 때 시뮬레이션을 클릭 JTextField.내가 무엇을 찾고가 해당하는 JButton doClick()메소드가 있습니다.

내가 노력하고 있는 키 입력""수행된 정확한하는 것과 같은 기능을 클릭 JTextField.

지 않은 다른 어떤 정보를 제공합니다.미리 감사드립니다.

도움이 되었습니까?

해결책 2

자, 도와 주셔서 감사합니다. 나는 명확하지 않은 것 같지만 이제는 당신의 아이디어 덕분에 코드를 작동시키는 방법을 발견했습니다.

이미 두 기능으로 호출 된 개인 메소드를 작성하려는 생각을했지만 코드의 일부는 사용자가 클릭 할 JtextField를 알아야합니다. .getFocusowner ()를 발견하여 현재 항목을 Focus (Jtextfield)로 참조 할 수 있습니다. 이 같은

    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_ENTER) {
            Object which = JFrame.getFocusOwner();                
            if(which.getClass() == JTextField.class)
                foo(which);
         }
    }

    public void mouseClicked(MouseEvent e) {                
        Object which = e.getSource();
        if(which.getClass()== JTextField.class) {
            foo(which);
        }
    }

이 작업을 수행하는 더 좋은 방법이 있었지만 기본적으로 jtextfields 배열이 있었고 사용자가 다음 Jtextfield를 클릭했을 때 프로그램이 제대로 작동했지만 Enter를 눌렀을 때 방금 입력 한 Jtextfield를 호출하는 방법을 몰랐습니다. 그래서 Jtextfield (초점을 요구하는)의 클릭을 시뮬레이션하고 싶었습니다. 내 문제를 방금 설명 했어야한다고 생각합니다.

고맙습니다.

다른 팁

public void simulateKey(KeyEvent e, Component c) {
   Field f = KeyEvent.class.getField("focusManagerIsDispatching");
   f.setAccessible(true);
   f.set(e, Boolean.TRUE);
   c.dispatchEvent(e);
}

jtextfield에 "입력"을 보내십시오. 이것은 도난당했습니다 여기.

마우스와 키 프레스로 인해 동일한 일이 발생하기를 원한다면 두 가지 모두가 불리는 방법을 갖는 것이 더 합리적이지 않습니까? 즉, 당신은 같은 방법이 있습니다 fieldClicked 그것은 둘 다에 의해 호출됩니다 MouseListener 그리고 KeyListener. 이것은 매우 혼란 스러울 수 있고 아마도 더 읽기 쉬운 이벤트에 대한 멍청이를 디버깅하기가 더 쉬울 것입니다.

내가 무엇을 원하는 경우 사용자 프레스 입력,그것은 동일 코드로우 클릭 어디서나 프레임

여전히 이해되지 않는다.

클릭할 때 언제 어디에 프레임의 몇 가지 일이 일어난다:

a)텍스트 필드 포커스

b)다른 구성 요소에 초점을 얻

를 추가할 수 있습 ActionListener 를 텍스트를 입력 할 수 있습니다.이 ActionListener 가 호출될 때 입력한 키 눌렀습니다.하지만 그런 다음 어떻게 당신은 생각에 프레임을 생성하는 마우스를 클릭하십시오?것과 같은 임의의 논리로 나입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top