帮忙看个异常!

wangwei490520 2010-08-16 10:40:56
这个异常有时出现,有时不出现,不知道是什么原因,希望大家能帮下忙

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
...全文
223 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒙奇D路飞 2010-08-17
  • 打赏
  • 举报
回复
楼主 应该试一下google
wangwei490520 2010-08-17
  • 打赏
  • 举报
回复
不用流用什么啊?
wangwei490520 2010-08-16
  • 打赏
  • 举报
回复
有可能是这个问题,soli11722984 哪个代码是我修改过了,以前调用下个界面我是在线程里对文件解压后执行的,但是我想的就是并发事件不影响啊,因为我只调用了一次,而且也执行了一件事.
book_chelejia 2010-08-16
  • 打赏
  • 举报
回复
这是线程的空指针问题!因为你是多个线程!你查看一下你的进程数
soli11722984 2010-08-16
  • 打赏
  • 举报
回复
有可能是你那个新线程导致,那个线程你要控制一下,一个客户端下载同一个文件,只能用一个线程工作

我现在看你的代码好像可以连续多次下载同一文件操作(意思是前一个线程没工作完,又来一个新的线程)

还有,代码没排版,看得头疼

在括号中间加上你的代码就会排版好
DAVE_LUO 2010-08-16
  • 打赏
  • 举报
回复
swing只能调用特定用户线程,来产生多线程的。
wangwei490520 2010-08-16
  • 打赏
  • 举报
回复
public int i=0;
public String filename;
public String filePath = "";
public String case_content;
public JDBCUtil datebase;
public DownLoad(List list,List namelist)
{

try {
datebase=JDBCUtil.getInstance();
setIconImage(Toolkit.getDefaultToolkit().createImage(getClass()
.getResource("/net/sf/xpontus/icons/icone.png")));
JFileChooser choosers = new JFileChooser();//
choosers.setDialogTitle("保存文件");
FileNameExtensionFilter filter = new FileNameExtensionFilter("压缩文件(zip)","zip");//
choosers.addChoosableFileFilter(filter);

choosers.setFileFilter(filter);

choosers.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

int returnVal = choosers.showSaveDialog(this);

if(returnVal == JFileChooser.APPROVE_OPTION)
filePath = choosers.getSelectedFile().getAbsolutePath();

else{
list.clear();
namelist.clear();
return;
}

//构建文件路径
for(int j=0;j<list.size();j++)
{
ResultSet rs=datebase.executeQuery("SELECT * FROM UOF_TEST_CASE WHERE CASE_ID="+Integer.valueOf((String) list.get(j)));
while(rs.next())
{
case_content=rs.getString("CASE_CONTENT");
}
if(case_content==null||case_content.equals(""))
{
JOptionPane.showMessageDialog(this,"该案例没有文件下载");
return;
}else
{

int cnt=0,start = 0;
int m=0;
while(start!=filePath.length()){
m = filePath.indexOf("\\",start);
if(m!=-1)
{
cnt ++;
start = m+1;
}
else
break;
}
// System.out.println("start="+start);
// System.out.println("cnt"+cnt);
if(cnt==1&&filePath.length()<=start)
{
// System.out.println("this is"+filePath+namelist.get(j).toString()+".zip");
Thread th=new ThreadDownLoad(filePath+namelist.get(j).toString()+".zip", Integer.valueOf((String) list.get(j)));
th.start();
DefaultXPontusWindowImpl window = (DefaultXPontusWindowImpl) XPontusComponentsUtils.getTopComponent();
window.getDocumentTabContainer().createImageView("d:\\unzip\\"+namelist.get(j).toString()+"\\"+namelist.get(j).toString(),Integer.valueOf((String) list.get(j)));
}else
{
// System.out.println("this is "+filePath+"\\"+namelist.get(j).toString()+".zip");
Thread th=new ThreadDownLoad(filePath+"\\"+namelist.get(j).toString()+".zip", Integer.valueOf((String) list.get(j)));
th.start();
DefaultXPontusWindowImpl window = (DefaultXPontusWindowImpl) XPontusComponentsUtils.getTopComponent();
window.getDocumentTabContainer().createImageView("d:\\unzip\\"+namelist.get(j).toString()+"\\"+namelist.get(j).toString(),Integer.valueOf((String) list.get(j)));
}



// downloadNet(Integer.valueOf((String) list.get(j)),filePath+"//"+namelist.get(j).toString()+".zip");
}
}

datebase.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception ef) {
// TODO Auto-generated catch block
ef.printStackTrace();
}
list.clear();
namelist.clear();
}
soli11722984 2010-08-16
  • 打赏
  • 举报
回复
代码代码。。。。。。

要贴好格式…………
wangwei490520 2010-08-16
  • 打赏
  • 举报
回复
我用了个多线程,我现在把那下一步操作从线程中移出来了!
soli11722984 2010-08-16
  • 打赏
  • 举报
回复
那你是不是有并发的操作
wangwei490520 2010-08-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangwei490520 的回复:]
这个异常有时出现,有时不出现,不知道是什么原因,希望大家能帮下忙

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintI……
[/Quote]
可是这个位置不好找啊,有时候出现,有时候不出现!
soli11722984 2010-08-16
  • 打赏
  • 举报
回复
空指针啊,应该是代码没控制好,导致并发出毛病
wzjmjx 2010-08-16
  • 打赏
  • 举报
回复
csdn 害死我了 居然找不到一个能不用流快速拷贝大文件的方法


是在没辙

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧