您的位置:程序门 -> java -> j2se / 基础类



快来找错呀


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


快来找错呀
发表于:2007-01-10 21:20:27 楼主
我想实现的功能是:从表单接收数据,然后调用jtable浏览刚才表单的内容,而jtable的构造方法中有一种是new   jtable(object[][]   o1,object[]   o2),第一个参数是二维数组,用来存记录,第二个是一维数组,用来存字段,表单里的数据是不断填加的,所以二维数组应该是动态的,我用下面这个例子实现了动态二维数组,不过感觉麻烦,请高手指点在线恭候答案,谢谢!!此程序编译正常, "填加 "按钮正常,而 "浏览 "按钮就出错,怎么回事呢?

import   java.awt.*;
import   javax.swing.*;
import   java.awt.*;
import   java.awt.event.*;
import   java.util.*;
public   class   sunrg   extends   jframe   implements   actionlistener
{
           
            jtable   jt;
            string[]   tablehead={ "姓名 ", "电话 ", "年龄 "};
            object   [][]   recorder;
            jbutton   jb1;
            jbutton   jb2;
            jbutton   jb3;
            jtextfield[]   jtf=new   jtextfield[3];
            vector   v;
            vector   v1;
            jpanel   jp;
            public   sunrg()
            {
                        //final   jframe   f=this;
                        //v1=new   vector();
                        //v1.addelement((jframe)f);
                        v=new   vector();
                        setsize(300,300);
                        setdefaultcloseoperation(jframe.exit_on_close);
                        container   cp=getcontentpane();
                        cp.setlayout(null);
                        //cp.setbounds(new   rectangle(100,100,300,300));
                        jp=new   jpanel();
                        jp.setlayout(null);
                        jp.setbounds(new   rectangle(50,50,500,500));
                        jlabel   jl=new   jlabel( "信息采集表 ");
                        jl.setbounds(new   rectangle(90,20,100,50));
                        jlabel   jl1=new   jlabel( "姓名 ");
                        jl1.setbounds(new   rectangle(60,60,25,15));
                        jtf[0]=new   jtextfield( " ");
                        jtf[0].setbounds(new   rectangle(86,60,100,15));
                        jlabel   jl2=new   jlabel( "电话 ");
                        jl2.setbounds(new   rectangle(60,80,25,15));
                        jtf[1]=new   jtextfield( " ");
                        jtf[1].setbounds(new   rectangle(86,80,100,15));
                        jlabel   jl3=new   jlabel( "年龄 ");
                        jl3.setbounds(new   rectangle(60,100,25,15));
                        jtf[2]=new   jtextfield( " ");
                        jtf[2].setbounds(new   rectangle(86,100,100,15));
                        jb1=new   jbutton( "填加 ");
                        jb1.setbounds(new   rectangle(40,125,60,25));
                        jb2=new   jbutton( "浏览 ");
                        jb2.setbounds(new   rectangle(110,125,60,25));
                        jb3=new   jbutton( "删除 ");
                        jb3.setbounds(new   rectangle(180,125,60,25));
                       
                        jp.add(jl);
                        jp.add(jl1);
                        jp.add(jtf[0]);
                        jp.add(jl2);
                        jp.add(jtf[1]);
                        jp.add(jl3);
                        jp.add(jtf[2]);
                        jp.add(jb1);
                        jp.add(jb2);
                        jp.add(jb3);
                        cp.add(jp);
                       
                        //jtf1.addactionlistener(this);
                        //jtf2.addactionlistener(this);
                        //jtf3.addactionlistener(this);
                        jb1.addactionlistener(this);
                        jb2.addactionlistener(this);                        
                        jb3.addactionlistener(this);
                        show();
            }
            public   void   actionperformed(actionevent   ae)
            {
                        if(ae.getsource()==jb1)
                        {
                                    for(int   j=0;j <=2;j++)
                                    {
                                                v.addelement((string)jtf[j].gettext());
                                                jtf[j].settext( " ");
                                               
                                    }
                                 
                        }
                        if(ae.getsource()==jb2)
                        {
                                   
                                    int   i=0;//遍历vector用的索引值
                            //下面代码将vector里的元素负值给一个二维数组,此数组已知一维
                                    for(int   k=0;k <((int)v.size()/3);k++)
                                    {
                                                for(int   h=0;h <=2;h++)
                                                {
                                                recorder[k][h]=(string)v.elementat(i);
                                                i++;
                                                system.out.println(recorder[k][h]);
                                                }
                                    }
          //用jtable(object[][]   o1,object[]   o2)构造函数创建表
                                    jt=new   jtable(recorder,tablehead);
        //将表jt放到jscrollpane里
                                    int   v=scrollpaneconstants.vertical_scrollbar_as_needed;
                                    int   h=scrollpaneconstants.horizontal_scrollbar_as_needed;
                                    jscrollpane   jsp=new   jscrollpane(jt,v,h);
                                    jsp.setbounds(new   rectangle(0,200,300,300));
                                    jp.add(jsp);
                                                                       
                                    }
            }
            public   static   void   main(string[]   args)
            {
                        new   sunrg();  
            }
}
发表于:2007-01-11 18:58:001楼 得分:0
怎么没人理我呀?
发表于:2007-01-11 19:25:362楼 得分:0
错误信息放上来啊。
发表于:2007-01-11 20:55:493楼 得分:0
错误信息太多,麻烦各位copy一下试试,帮帮我,谢谢
发表于:2007-01-12 06:03:304楼 得分:0
看代码看得好累     写的很业余哦
发表于:2007-01-12 08:12:555楼 得分:0
总得说说哪方面的错误啊,中午在来看看
发表于:2007-01-13 11:37:276楼 得分:0
我是楼主,下面这些是点击 "浏览 "按钮后出现的错误信息,我是一个菜鸟,程序写的很初级,请大家多包含
java.lang.nullpointerexception
                at   sunrg.actionperformed(sunrg.java:96)
                at   javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:17
86)
                at   javax.swing.abstractbutton$forwardactionevents.actionperformed(abstra
ctbutton.java:1839)
                at   javax.swing.defaultbuttonmodel.fireactionperformed(defaultbuttonmodel
.java:420)
                at   javax.swing.defaultbuttonmodel.setpressed(defaultbuttonmodel.java:258
)
                at   javax.swing.plaf.basic.basicbuttonlistener.mousereleased(basicbuttonl
istener.java:245)
                at   java.awt.component.processmouseevent(component.java:5100)
                at   java.awt.component.processevent(component.java:4897)
                at   java.awt.container.processevent(container.java:1569)
                at   java.awt.component.dispatcheventimpl(component.java:3615)
                at   java.awt.container.dispatcheventimpl(container.java:1627)
                at   java.awt.component.dispatchevent(component.java:3477)
                at   java.awt.lightweightdispatcher.retargetmouseevent(container.java:3483
)
                at   java.awt.lightweightdispatcher.processmouseevent(container.java:3198)

                at   java.awt.lightweightdispatcher.dispatchevent(container.java:3128)
                at   java.awt.container.dispatcheventimpl(container.java:1613)
                at   java.awt.window.dispatcheventimpl(window.java:1606)
                at   java.awt.component.dispatchevent(component.java:3477)
                at   java.awt.eventqueue.dispatchevent(eventqueue.java:480)
                at   java.awt.eventdispatchthread.pumponeeventforhierarchy(eventdispatchth
read.java:201)
                at   java.awt.eventdispatchthread.pumpeventsforhierarchy(eventdispatchthre
ad.java:151)
                at   java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:145)

                at   java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:137)

                at   java.awt.eventdispatchthread.run(eventdispatchthread.java:100)

e:\javalesson>


快速检索

最新资讯
热门点击