为了账号安全,请及时绑定邮箱和手机立即绑定

怎么破?JFrame 是不是就不支持这么做?

怎么破?JFrame 是不是就不支持这么做?

神不在的星期二 2023-04-01 18:14:20
代码如下:Rectangle bounds = new Rectangle(new Point(960, 100), new Dimension(280, 540));//1. 第一个 JFramenew JFrame().setBounds(bounds).setVisiable(true);// 这一行很重要,如果注释掉,就能打开两个 JFrame, 否则就会发生死锁//我尝试了下,我电脑上,每个 JFrame直接打开的时间间隔如果超过 100ms 就会发生死锁// 死锁发生在调用 setVisiable (true) 时Thread.sleep(1000);  bounds = new Rectangle(new Point(160, 100), new Dimension(580, 540));//2. 第二个 JFramenew JFrame().setBounds(bounds).setVisiable(true);
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

//需要这样包装下
SwingUtilities.invokeLater( new Runnable() {
	        @Override
	        public void run() {
	        	JFrame window = new JFrame();
	    		window.add(browerUI_);
	    		window.setIconImage(ResourceUtils.HEAD_ICON);
	    		window.setUndecorated(true);
	    		System.out.println("check hung it");
	    		if(!window.isVisible()){
	    			window.setVisible(true);
	    		}
	    		System.out.println("not hung");
	    		window.setBounds(bounds);
	    		JBinds jbinds =new JBinds(window, cefClient, cefBrowser);
	    		jwindows.put(win_id, jbinds);
	        }
	      });


查看完整回答
反对 回复 2023-04-03
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信