将handleEvent(e)更新为AWTEvent

时间:2017-05-21 01:52:46

标签: java event-handling awt listener

第一个片段是我第一次尝试之前我才知道它已被弃用并试图在第二个片段中切换到AWT

public boolean handleEvent (Event e) {
    if ((e.target == input) && (e.id == Event.ACTION_EVENT)) {
        try {
            o.writeUTF((String) e.arg);
            o.flush();
        } catch (IOException ex) {
            ex.printStackTrace();
            listener.interrupt();
        }
        input.setText("");
        return true;
    } else if((e.target == this) && (e.id == Event.WINDOW_DESTROY)) {
        if (listener != null)
            listener.interrupt();
        setVisible(false);
        return true;
    }
    return super.handleEvent(e);
}

我在下面尝试的下一部分将其更改为AWT,这是我瞄准的目标,但这是因为"无法解决或不是字段"错误出现了。我试过processEvent();但这让我无法解决或者不是一个领域" " target"的每个实例上的错误和" arg",也是"无法返回无效结果" on return super.processEvent(e);.有谁知道我可以更新这个方法吗?

public boolean handleEvent (AWTEvent e) {
    if ((e.target == input) && (AWTEvent.RESERVED_ID_MAX == Event.ACTION_EVENT)) {
        try {
            o.writeUTF((String) e.arg);
            o.flush();
        } catch (IOException ex) {
            ex.printStackTrace();
            listener.interrupt();
        }
        input.setText("");
        return true;
    } else if((e.target == this) && (AWTEvent.RESERVED_ID_MAX == Event.WINDOW_DESTROY)) {
        if (listener != null)
            listener.interrupt();
        setVisible(false);
        return true;
    }
    return super.processEvent(e);
}

0 个答案:

没有答案