Java JInternalFrame 配置查找源
Java JInternalFrame dispose find source
我有一个 JInternalFrame,可以通过单击 X 按钮或以编程方式从菜单中关闭它。两种方法都以
结束
public void internalFrameClosing(InternalFrameEvent e)
以后
public void internalFrameClosed(InternalFrameEvent e)
我想区分此调用的来源并触发不同的操作(即在通过 X 按钮关闭我的框架的情况下要求确认并稍后处理(),在选择 "close" 的情况下从菜单中只需处理()框架)。
您能提出任何解决方案吗?
要更改 X 按钮的行为,您可以将默认关闭操作设置为 DO_NOTHING_ON_CLOSE
,并添加一个 InternalFrameListener
来处理关闭确认请求和关闭框架如果需要:
internalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
internalFrame.addInternalFrameListener(new InternalFrameListener() {
@Override
public void internalFrameOpened(final InternalFrameEvent e) {
}
@Override
public void internalFrameClosing(final InternalFrameEvent e) {
// Do your confirmation stuff !!
// Dispose the internal frame if needed !!
}
@Override
public void internalFrameClosed(final InternalFrameEvent e) {
}
@Override
public void internalFrameIconified(final InternalFrameEvent e) {
}
@Override
public void internalFrameDeiconified(final InternalFrameEvent e) {
}
@Override
public void internalFrameActivated(final InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeactivated(final InternalFrameEvent e) {
// TODO Auto-generated method stub
}
});
DO_NOTHING_ON_CLOSE
Do nothing. This requires the program to handle
the operation in the windowClosing method of a registered
InternalFrameListener object.
(请注意,在上面的文档摘录中,我怀疑 windowClosing
是一个错字,他们可能意味着 internalFrameClosing
)。
我有一个 JInternalFrame,可以通过单击 X 按钮或以编程方式从菜单中关闭它。两种方法都以
结束public void internalFrameClosing(InternalFrameEvent e)
以后
public void internalFrameClosed(InternalFrameEvent e)
我想区分此调用的来源并触发不同的操作(即在通过 X 按钮关闭我的框架的情况下要求确认并稍后处理(),在选择 "close" 的情况下从菜单中只需处理()框架)。
您能提出任何解决方案吗?
要更改 X 按钮的行为,您可以将默认关闭操作设置为 DO_NOTHING_ON_CLOSE
,并添加一个 InternalFrameListener
来处理关闭确认请求和关闭框架如果需要:
internalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
internalFrame.addInternalFrameListener(new InternalFrameListener() {
@Override
public void internalFrameOpened(final InternalFrameEvent e) {
}
@Override
public void internalFrameClosing(final InternalFrameEvent e) {
// Do your confirmation stuff !!
// Dispose the internal frame if needed !!
}
@Override
public void internalFrameClosed(final InternalFrameEvent e) {
}
@Override
public void internalFrameIconified(final InternalFrameEvent e) {
}
@Override
public void internalFrameDeiconified(final InternalFrameEvent e) {
}
@Override
public void internalFrameActivated(final InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeactivated(final InternalFrameEvent e) {
// TODO Auto-generated method stub
}
});
DO_NOTHING_ON_CLOSE
Do nothing. This requires the program to handle the operation in the windowClosing method of a registered InternalFrameListener object.
(请注意,在上面的文档摘录中,我怀疑 windowClosing
是一个错字,他们可能意味着 internalFrameClosing
)。