大家好!
我初次使用java swing做GUI方面的开发,现在有一个问题想请教各位。
我现在有一个主框架MainJFraim, 还有一个含有Jtable的tableframe, 在主框架中程序会输出一个动态输出一些格式化信息, 我希望将这些信息输入tableframe中的jtable中,并且每输出一行,刷新jtable。
现在我的做法是,每次addrow, tableframe.repaint(),表格完全没有显示出来,只有一个tableframe显示出来了,tableframe中的菜单什么的都没显示,而且tableframe还关闭不掉,一点右上角关闭就卡死。
请问此种情况如何解决?
用双线程。
一个线程显示页面。
另一个线程更新页面上的数据。
建一个内部类,实现Runnable接口,重写里面的run方法。
在第一个线程中把类new出来,再丢到另一个线程中。如下。
ShowData showData= new ShowData();
Thread thread = new Thread(showData);
thread.start();
能不能说得再清楚一点,实际情况比较复杂,具体来说。
当我点击mainFrame中的“start”按钮时调用controller.start(MyCrawler.class, numberOfCrawlers); 然后我希望弹出一个tableFrame,而tableFrame中的内容是由MyCrawler类来动态更新的,目前MyCrawler类输出信息到stdout,我希望将这些信息输入到tableFrame中的table中。
目前我的做法是MainFrame中放入一个tableFrame的成员变量,当启动start时创建初始的tableFrame,然后希望MyCrawler类去写内容。此外,MyCrawler类已经定义了自己的Runnable方法,但是是别人的库,我看不见其具体实现。