2009-09-05 80 views
0

我正在試聽JFrame製作的搖擺gui的tab-in製表符動作。我將JTextField添加到JFrame中,每當選擇窗口時都會獲得用戶剪貼板,以便用戶可以在程序之間切換,複製一些URL,以便返回到我的程序時,此JTextField將由複製的url字符串填充。爲JFrame監聽動作

編輯:

我已經試過這樣:

frame.addFocusListener(
      new FocusListener() { 
       public void focusGained(FocusEvent e) { 

       url= getClipboardData(); 
       } 

       @Override 
       public void focusLost(FocusEvent arg0) { 
        // TODO Auto-generated method stub 

       } 
      } 

    ); 

它不工作

+0

那麼究竟是什麼問題?如何從系統剪貼板中拉出,如何傾聽焦點事件,或者究竟是什麼? – aperkins 2009-09-05 17:32:45

+0

問題是框架的焦點事件:) – Hellnar 2009-09-05 17:50:12

回答

1

幀不收到一個焦點事件。框架上的組件獲取焦點事件。

如果您想知道幀何時獲得焦點,請使用WindowListener並處理windowActivated事件。

+0

感謝您的建議:) – Hellnar 2009-09-06 11:16:11

1

你需要的是一個沒有的FocusListener一個ActionListener。看看java Doc,你就會知道如何使用它。這很容易。

0

看起來您並未將剪貼板數據設置到文本字段上。

frame.addFocusListener(new FocusListener() { 
    public void focusGained(FocusEvent e) { 
     getJTextField().setText(getClipboardData()); 
    } 
    public void focusLost(FocusEvent e) { 
     //ignored 
    } 
}); 

類似的東西可能會解決您的問題