java的jinterframe_java-如何管理调用另一个JInternalFrame的JInter...

我有一个带有此代码的JDesktopPane.

public class Menu extends JFrame implements ActionListener{

/**

* Creates new form Portada

*/

public static JDesktopPane desktop;

public JDesktopPane getDesktop() {

return desktop;

}

public Menu() {

desktop = new JDesktopPane();

setContentPane(desktop);

desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);

initComponents();

}

}

然后我像这样添加新组件

desktop.add(orden);

当我想给他们打电话时

if(e.getSource()==jMenuItem1_1){

orden.setVisible(true);

desktop.setSelectedFrame(orden);

desktop.moveToFront(orden);

try {

orden.setSelected(true);

} catch (PropertyVetoException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

我得到的问题是,当“ orden”想要弹出另一个JInternalFrame时,我将使用下一个代码.

searchSupplier.setVisible(true);

Main.getInstance().getPortada().getDesktop().add(searchSupplier);

Main.getInstance().getPortada().getDesktop()

.moveToFront(searchSupplier);

try {

searchSupplier.setSelected(true);

} catch (PropertyVetoException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

当我执行事件超过2次时,出现下一个错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position

我应该在哪里将新的JInternalFrame添加到DesktopPane?或到Orden ?,或该如何解决此错误?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值