0

我正在尝试为 JFrame 制作的 swing gui 收听 tab-in tab-out 动作。我在 JFrame 中添加了一个 JTextField,只要选择了窗口,它就会获取用户剪贴板,这样用户就可以在程序之间进行选项卡,复制一些 url,这样当回到我的程序时,这个 JTextField 将由复制的 url 字符串填充。

编辑:

我试过这个:

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

                url= getClipboardData();
                }

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

                }
            }

    );

它不起作用

4

3 回答 3

1

您想要的是 FocusListener 而不是 ActionListener。查看 java Doc,您将知道如何使用它。这简单。

于 2009-09-05T17:32:38.617 回答
1

框架没有收到焦点事件。框架上的组件获取焦点事件。

If you want to know when a frame gets focus then use a WindowListener and handle the windowActivated event.

于 2009-09-05T19:44:14.460 回答
0

看起来您没有将剪贴板数据设置到文本字段上。

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

类似的东西可能会解决你的问题

于 2009-09-05T17:52:05.317 回答