Swing处理界面中的线程问题

目前的界面是这样的:


点击Start之后会调用之前写的爬虫去爬取新闻评论,但是在点击了之后,整个界面就卡住了。。。什么按钮都不能用,刚才和professor说了一下,他说应该把界面的线程和程序的逻辑的线程分开。


回实验室之后在网上查了一下,根据这篇博客 http://www.java3z.com/cwbwebhome/article/article20/200011.html?id=4781 有了如下修改。在监听中加入了一个新线程,问题解决~

        StartButton = new JButton("Start");
        StartButton.addActionListener(this);
        
        StartButton.addMouseListener(new MouseAdapter() {  
            
            public void mouseClicked(MouseEvent event) {  
                Runnable runnable = new Runnable() {  
                    
                    public void run() {  
                    	try {
            				new ThreadPool();
            			} catch (MalformedURLException e1) {
            				// TODO Auto-generated catch block
            				e1.printStackTrace();
            			} catch (IOException e1) {
            				// TODO Auto-generated catch block
            				e1.printStackTrace();
            			} catch (ParseException e1) {
            				// TODO Auto-generated catch block
            				e1.printStackTrace();
            			} catch (Exception e1) {
            				// TODO Auto-generated catch block
            				e1.printStackTrace();
            			}
                    }  
                };  
                new Thread(runnable).start(); 
            }  
        });
        
   

刚才测试,界面又可以最小化到托盘了,可是点击最小化的时候出现如下报错:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding TrayIcon that is already added
at java.awt.SystemTray.add(Unknown Source)
at UserInterface.MainPage$3.windowIconified(MainPage.java:491)

意思应该是说已经加入不用再加入了。未解决

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值