下面的代码使JFrame中的JDesktopPane上弹出JInternalFrame
JInternalPane adf = new JInternalpane();
JDesktopPane.add(adf);
adf.show();
但是当InternalFrame被图标化或仍在DesktopPane上可见时,再次单击使显示InternalFrame的Action_Button,则再次弹出相同类型的另一个InternalFrame。并不断点击按钮多次弹出。
请如何生成代码,以便在单击按钮时首先应检查internalFrame是否已图标化,并使它再次可见。而不是弹出另一个内部框架。
我在jdk 8中使用netbeans ide。当我右键单击按钮,选择“事件”,然后执行“操作”时,将执行button_action,到目前为止,我只编写了此代码。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JInternalPane adf = new JInternalpane();
JDesktopPane.add(adf);
adf.show();
// TODO add your handling code here:
}
谢谢
最佳答案
您需要为内部框架保留一个实例变量,以便知道当前状态。
然后,ActionListener中的代码将类似于:
if (internalFrame == null) // not yet created
{
internalFrame = new JInternalFrame(...);
desktopPane.add( internalFrame );
internalFrame.show();
}
else if (internal frame is iconified) // read the API for the method to use
{
// show the internal frame
}