我用 JInternal 框架制作了一个 java swing 应用程序。当我关闭内部框架时,它应该显示一条弹出消息“您确定吗?”在选项 Pane 中。如何将事件放入 JInternal 框架的关闭操作中?请帮助我。
最佳答案
请参阅http://docs.oracle.com/javase/tutorial/uiswing/events/internalframelistener.html有关如何编写 InternalFrameListener
的信息。您可以将所有关闭代码放入 internalFrameClosing(InternalFrameEvent e)
方法中。
然后,只需使用 JInternalFrame
方法 addInternalFrameListener
将新创建的 InternalFrameListener
的新实例添加到 JInternalFrame
中>,正如您在上一个链接中看到的那样。
以下是有关 addInternalFrameListener
方法的信息:JavaDoc
代码:
public class InternalFrameEventDemo implements InternalFrameListener{
JInternalFrame frame;
public InternalFrameEventDemo() {
frame = new JInternalFrame("Event Generator",
true, //resizable
true, //closable
true, //maximizable
true); //iconifiable
//so that you can decide whether to close it or not
frame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
frame.addInternalFrameListener(this);
}
public void internalFrameClosing(InternalFrameEvent e) {
//YOUR CODE HERE
int option = JOptionPane.showConfirmDialog(null, "Really Close?", "Exit", JOptionPane.YES_NO_OPTION);
if (option == JOptionPane.YES_OPTION){
//call dispose to really close it
dispose();
}
}
public void internalFrameClosed(InternalFrameEvent e) {
}
public void internalFrameOpened(InternalFrameEvent e) {
}
public void internalFrameIconified(InternalFrameEvent e) {
}
public void internalFrameDeiconified(InternalFrameEvent e) {
}
public void internalFrameActivated(InternalFrameEvent e) {
}
public void internalFrameDeactivated(InternalFrameEvent e) {
}
public static void main(String[] args) {
new InternalFrameEventDemo();
}
}
关于java - 如何在关闭JInternalFrame之前询问 "Are you sure?"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18633164/