我正在尝试为JFrame制作的swing gui听tab-in tab-out动作。我有一个JTextField添加到JFrame,只要选择了窗口就会获得用户剪贴板,这样用户可以在程序之间进行选项卡,复制一些URL,这样当回到我的程序时,这个JTextField将由复制的url字符串填充。 / p>
编辑:
我试过这个:
frame.addFocusListener(
new FocusListener() {
public void focusGained(FocusEvent e) {
url= getClipboardData();
}
@Override
public void focusLost(FocusEvent arg0) {
// TODO Auto-generated method stub
}
}
);
它不起作用
答案 0 :(得分:1)
你想要的是一个FocusListener而不是一个ActionListener。查看java Doc,您将了解如何使用它。这很容易。
答案 1 :(得分:1)
帧不接收焦点事件。帧上的组件获得焦点事件。
如果你想知道帧何时获得焦点,那么使用WindowListener并处理windowActivated事件。
答案 2 :(得分:0)
看起来您没有将剪贴板数据设置到文本字段中。
frame.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
getJTextField().setText(getClipboardData());
}
public void focusLost(FocusEvent e) {
//ignored
}
});
这样的事情可能会解决你的问题