Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 793|回复: 9
打印 上一主题 下一主题

有点急的问题~请大大教我这是什么问题

[复制链接]

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

跳转到指定楼层
1#
发表于 2009-6-24 09:57 PM |只看该作者 |倒序浏览
Exception in thread "main" java.lang.NullPointerException
    at AssignmentGUI.<init>(AssignmentGUI.java:146)
    at demoassignment.main(demoassignment.java:5)




收藏收藏0

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

2#
发表于 2009-6-24 10:18 PM |只看该作者
原帖由 Iceleafleave 于 2009-6-24 09:57 PM 发表
Exception in thread "main" java.lang.NullPointerException
    at AssignmentGUI.(AssignmentGUI.java:146)
    at demoassignment.main(demoassignment.java:5)



你没預防空值的可能性就做文字或数字处理就会出現這個错误


回复

使用道具 举报

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

3#
发表于 2009-6-25 11:50 AM |只看该作者

回复 #2 Super-Tomato 的帖子

可以给个例子吗?我不太明白


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

4#
发表于 2009-6-25 12:30 PM |只看该作者
原帖由 Iceleafleave 于 2009-6-25 11:50 AM 发表
可以给个例子吗?我不太明白



你該把自己的 coding 貼出來吧


回复

使用道具 举报

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

5#
发表于 2009-6-25 01:12 PM |只看该作者

回复 #4 Super-Tomato 的帖子

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AssignmentGUI extends Frame implements ActionListener, ItemListener{
        private JTabbedPane tab;
        private Panel pentry=new Panel();
        private Panel pdisplay=new Panel();
        private Panel psearch=new Panel();
        private Panel pbutton=new Panel();
        private Panel pbutton2=new Panel();
        private Panel pbutton3=new Panel();
       
        private Panel ptype=new Panel();
       
        private int counter=0;
        private int counter2=0;
       
        private Label lblblank,lblblank2,lblblank3;       
       
        private Label lbltitle,lblid,lblname,lblpriority,lbltype,lbldescribtion,lblcompanyname,lbltypecompany;
       
        private Label lbltitled,lblidd,lblnamed,lblpriorityd,lbltyped,lbldescribtiond,lblcompanynamed,lbltypecompanyd;
        private Label lblidr,lblnamer,lblpriorityr,lbltyper,lbldescribtionr,lblcompanynamer,lbltypecompanyr;
       
        private Label lbltitle1,lblsearch,lblid1,lblname1,lblpriority1,lbltype1,lbldescribtion1,lblcompanyname1,lbltypecompany1;
        private Label lblid2,lblname2,lblpriority2,lbltype2,lbldescribtion2,lblcompanyname2,lbltypecompany2;
       
        private TextField txtid,txtname,txtdesc,txtcompany;
        private TextField txtsearch;
       
        JComboBox [] t=new JComboBox[4];
        private Button btnreset,btnsave,btnnext,btnprevious,btndisplay,btnsearch;
        String choice;
        char [] tempt=new char[4];
        private boolean flag,flag2=false,flag3=false;
        productmethod [] pm =new productmethod[4];
       
        public AssignmentGUI(){
                super("Product Record");
                tab=new JTabbedPane();
                Color blue=new Color(50,150,255);
                Color red=new Color(255,150,150);
                Color yellow=new Color(255,200,100);
                Color gray=new Color(230,230,230);
               
                for(int i=0;i<4;i++){
                        t=new JComboBox();
                        t.addItem("Accounting");
                        t.addItem("Anti-Virus");
                        t.addItem("Reader");
                        t.addItem("Customise");
                        t.setSelectedItem("Accounting");
                        choice=t.getSelectedItem().toString();
                        tempt=choice.charAt(0);
                        t.addItemListener(this);
                }
               
                lbltitle=new Label("Product Requirement Record");
                lblid=new Label(counter+1+". Product ID: ");
                lblname=new Label("Product Name: ");
                lblpriority=new Label("Priority: ");
                lbltype=new Label("Type of Product: ");
                lbldescribtion=new Label("Product Describtion: ");
                lblcompanyname=new Label("Company Name: ");
                lbltypecompany=new Label("Type Of Company: ");
               
                lbltitled=new Label("Product Requirement Result");
                lblidd=new Label(counter2+1+". Product ID: ");
                lblnamed=new Label("Product Name: ");
                lblpriorityd=new Label("Priority: ");
                lbltyped=new Label("Type of Product: ");
                lbldescribtiond=new Label("Product Describtion: ");
                lblcompanynamed=new Label("Company Name: ");
                lbltypecompanyd=new Label("Type Of Company: ");
                lblidr=new Label();
                lblnamer=new Label();
                lblpriorityr=new Label();
                lbltyper=new Label();
                lbldescribtionr=new Label();
                lblcompanynamer=new Label();
                lbltypecompanyr=new Label();
               
                lbltitle1=new Label("Product Record Search");
                lblsearch=new Label("Search ID: ");
                lblid1=new Label("Product ID: ");
                lblname1=new Label("Product Name: ");
                lblpriority1=new Label("Priority: ");
                lbltype1=new Label("Type of Product: ");
                lbldescribtion1=new Label("Product Describtion: ");
                lblcompanyname1=new Label("Company Name: ");
                lbltypecompany1=new Label("Type Of Company: ");
                lblid2=new Label();
                lblname2=new Label();
                lblpriority2=new Label();
                lbltype2=new Label();
                lbldescribtion2=new Label();
                lblcompanyname2=new Label();
                lbltypecompany2=new Label();
               
                txtid=new TextField("",100);
                        txtname=new TextField("",100);
                                txtdesc=new TextField("",100);
                                        txtcompany=new TextField("",100);
                                        txtsearch=new TextField("",100);
                                       
                btnreset=new Button("Reset");
                btnreset.setBackground(blue);
                btnreset.setForeground(Color.white);
                btnreset.addActionListener(this);
               
                btnsave=new Button("Save");
                btnsave.setBackground(blue);
                btnsave.setForeground(Color.white);
                btnsave.addActionListener(this);
               
                btnnext=new Button("Next");
                btnnext.setBackground(red);
                btnnext.setForeground(Color.white);
                btnnext.addActionListener(this);
                btnnext.setEnabled(false);
               
                btnprevious=new Button("Previous");
                btnprevious.setBackground(red);
                btnprevious.setForeground(Color.white);
                btnprevious.addActionListener(this);
                btnprevious.setEnabled(false);
               
                btndisplay=new Button("Display");
                btnprevious.setBackground(red);
                btnprevious.setForeground(Color.white);
                btnprevious.addActionListener(this);
                btnprevious.setEnabled(false);
               
                btnsearch=new Button("Search");
                btnprevious.setBackground(yellow);
                btnprevious.setForeground(Color.white);
                btnprevious.addActionListener(this);
                btnprevious.setEnabled(false);
               
                for(int j=0;j<pm.length;j++)
                        pm[j]=new productmethod();
               
                pentry.setLayout(new GridLayout(13,2,0,2));
                lbltitle.setBackground(blue);
                lbltitle.setForeground(Color.white);
                lblblank.setBackground(blue);
                pentry.add(lbltitle);
                pentry.add(lblblank);
                pentry.add(lblid);
                pentry.add(txtid);
                pentry.add(lblname);
                pentry.add(txtname);
                pentry.add(lblpriority);
                //radio button priority
                pentry.add(lbltype);
               
                //add the JComboBox Component
                ptype.setLayout(new GridLayout(0,4,0,2));
                ptype.add(t[0]);
                ptype.add(new Label());
                ptype.add(new Label());
                ptype.add(new Label());
                pentry.add(ptype);
               
                pentry.add(lbldescribtion);
                pentry.add(txtdesc);
                pentry.add(lblcompanyname);
                pentry.add(txtcompany);
               
                pentry.add(lbltypecompany);
                //radio button of company type
               
                //group the button
                pbutton.setLayout(new GridLayout(0,3,2,2));
                pbutton.add(new Label());
                pbutton.add(btnreset);
                pbutton.add(btnsave);
                pentry.add(pbutton);
               
               
                //panel display
                lbltitled.setBackground(red);
                lbltitled.setForeground(Color.white);
                lblblank2.setBackground(red);
               
                pdisplay.setLayout(new GridLayout(15,2,0,2));
                pdisplay.add(lbltitled);
                pdisplay.add(lblblank2);
                pdisplay.add(lblidd);
                pdisplay.add(lblidr);
                pdisplay.add(lblnamed);
                pdisplay.add(lblnamer);
                pdisplay.add(lblpriorityd);
                pdisplay.add(lblpriorityr);
                //priority radio panel
                pdisplay.add(lbltyped);
                pdisplay.add(lbltyper);
                pdisplay.add(lbldescribtiond);
                pdisplay.add(lbldescribtionr);
                pdisplay.add(lblcompanynamed);
                pdisplay.add(lblcompanynamer);
                pdisplay.add(lbltypecompanyd);
                pdisplay.add(lbltypecompanyr);
                //type radio button
                pbutton2.setLayout(new GridLayout(0,3,2,2));
                pbutton2.add(btndisplay);
                pbutton2.add(btnprevious);
                pbutton2.add(btnnext);
                pdisplay.add(pbutton2);
               
                lbltitle1.setBackground(yellow);
                lbltitle1.setForeground(Color.white);
                lblblank3.setBackground(yellow);
               
                psearch.setLayout(new GridLayout(15,2,0,2));
                psearch.add(lbltitle1);
                psearch.add(lblblank3);
                psearch.add(lblsearch);
                pbutton3.setLayout(new GridLayout(0,2,2,2));
                pbutton3.add(txtsearch);
                pbutton3.add(btnsearch);
                psearch.add(pbutton3);
                psearch.add(lblid1);
                psearch.add(lblid2);
                psearch.add(lblname1);
                psearch.add(lblname2);
                psearch.add(lblpriority1);
                psearch.add(lblpriority2);
                psearch.add(lbltype1);
                psearch.add(lbltype2);
                psearch.add(lbldescribtion1);
                psearch.add(lbldescribtion2);
                psearch.add(lblcompanyname1);
                psearch.add(lblcompanyname2);
                psearch.add(lblcompanyname1);
                psearch.add(lblcompanyname2);
                psearch.add(lbltypecompany1);
                psearch.add(lbltypecompany2);
                tab.addTab("Record",null,pentry,"Entry Record");
                tab.addTab("Display",null,pdisplay,"Display Record");
                tab.addTab("Search",null,psearch,"Search Record");
                tab.setBackgroundAt(0,blue);
                tab.setBackgroundAt(1,red);
                tab.setBackgroundAt(2,yellow);
                tab.setBackground(gray);
                add(tab);
                setSize(800,600);
                setVisible(true);
        }


回复

使用道具 举报

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

6#
发表于 2009-6-25 01:12 PM |只看该作者
public static void main(String []args) throws AWTException{
                assignment assi=new assignment();
                assi.addWindowListener(
                        new WindowAdapter(){
                                public void windowClosing(WindowEvent e){
                                        System.exit(0);
                                }
                        });
        }
       
        public void itemStateChanged(ItemEvent event){
                for(int i=0;i<4;i++)
                        if(event.getSource()==t)
                        {
                                choice=t.getSelectedItem().toString();
                                tempt=choice.charAt(0);
                        }
        }
       
        public void actionPerformed(ActionEvent ae){
                if(ae.getSource()==btnreset)
                        reset();
                if(ae.getSource()==btnsave)
                {
                        if(flag==false)
                        {
                                validate();
                        }
                        if(flag==true)
                        {
                                save();
                                reset();
                                if(counter==0)
                                        btnnext.setEnabled(false);
                                else if(flag3==true)
                                        btnnext.setEnabled(true);
                                counter++;
                                if(counter==1)
                                {
                                        btndisplay.setEnabled(true);
                                        btnsearch.setEnabled(true);
                                }
                                lblid.setText(counter+1+". product ID: ");
                                if(counter>=5)
                                {
                                        counter=0;
                                        lblid.setText(counter+1+". Product ID: ");
                                }
                                flag=false;
                        }
                }
                if(ae.getSource()==btndisplay)
                {
                        display();
                        flag3=true;
                        btndisplay.setEnabled(false);
                        if(counter==1)
                                btnnext.setEnabled(false);
                        if(counter!=1)
                                btnnext.setEnabled(true);
                }
               
                if(ae.getSource()==btnnext)
                {
                        counter2++;
                        if(counter2==(counter-1))
                        {
                                btnnext.setEnabled(false);
                        }
                        else
                                btnnext.setEnabled(true);
                        if(counter2==4)
                                btnnext.setEnabled(false);
                        btnprevious.setEnabled(true);
                        lblidd.setText(counter2+1+". Product ID: ");
                        display();
                }
                if(ae.getSource()==btnprevious)
                {
                        counter2--;
                        if(counter2==0)
                                btnprevious.setEnabled(true);
                        btnnext.setEnabled(true);
                        lblidd.setText(counter2+1+". Product ID: ");
                        display();
                }
                if(ae.getSource()==btnsearch)
                {
                        validate2();
                        search();
                }
        }
       
       
        public void reset(){
                txtid.setText("");
                txtname.setText("");
                //priority
                for(int i=0;i<4;i++)
                {
                        t.setSelectedItem("Accounting");
                        choice=t.getSelectedItem().toString();
                        tempt=choice.charAt(0);
                }
               
                txtdesc.setText("");
                txtcompany.setText("");
                //tyofcp
        }
       
       
        public void save(){
                String id,name,type,describ,cn;
                char[] pgr=new char[5];
                id=txtid.getText();
                pm[counter].setproductid(id);
                name=txtname.getText();
                pm[counter].setproductname(name);
                //priority
                for(int i=0;i<4;i++)
                {
                        pgr=tempt;
                }
                pm[counter].setaccounting(pgr[0]);
                pm[counter].setantivirus(pgr[1]);
                pm[counter].setcomecial(pgr[2]);
                pm[counter].setreader(pgr[3]);
                pm[counter].setother(pgr[4]);
                describ=txtdesc.getText();
                pm[counter].setproductdescribtion(describ);
                cn=txtcompany.getText();
                pm[counter].setcompanyname(cn);
                //tpofcp
        }
       
        public void display(){
                char temp2;
                String temp3;
                lblidr.setText(pm[counter2].getproductid());
                lblnamer.setText(pm[counter2].getproductname());
                //proirity
                temp2=pm[counter2].getaccounting();
                temp3=Character.toString(temp2);
               
                temp2=pm[counter2].getantivirus();
                temp3=Character.toString(temp2);
                lbltyper.setText(temp3);
                temp2=pm[counter2].getcomecial();
                temp3=Character.toString(temp2);
                lbltyper.setText(temp3);
                temp2=pm[counter2].getreader();
                temp3=Character.toString(temp2);
                lbltyper.setText(temp3);
                temp2=pm[counter2].getother();
                temp3=Character.toString(temp2);
               
                lbltyper.setText(temp3);
               
                lbldescribtionr.setText(pm[counter2].getproductdescribtion());
                lbldescribtionr.setText(pm[counter2].getcompanyname());
                //tyofcp
        }
       
        public void search(){
                String str,temp6;
                char temp7;
                flag2=true;
                String [] idarray=new String [counter];
                str=txtsearch.getText();
                for(int k=0;k<counter;k++)
                {
                        idarray[k]=pm[k].getproductid();
                        if(idarray[k].equals(str))
                        {
                                flag2=true;
                                lblid2.setText(pm[k].getproductid());
                                lblname2.setText(pm[k].getproductname());
                                temp7=pm[k].getaccounting();
                                temp6=Character.toString(temp7);
                                lbltype2.setText(temp6);
                               
                                temp7=pm[k].getantivirus();
                                temp6=Character.toString(temp7);
                                lbltype2.setText(temp6);
                               
                                temp7=pm[k].getcomecial();
                                temp6=Character.toString(temp7);
                                lbltype2.setText(temp6);
                               
                                temp7=pm[k].getreader();
                                temp6=Character.toString(temp7);
                                lbltype2.setText(temp6);
                               
                                temp7=pm[k].getother();
                                temp6=Character.toString(temp7);
                                lbltype2.setText(temp6);
                                break;
                               
                        }
                        else if (!(idarray[k].equals(str)))
                                flag2=false;
                }
                if(flag2==false)
                        JOptionPane.showMessageDialog(this,"Record not found.");
        }
       
        public void validate() throws ArithmeticException{
                flag=false;
                if(txtid.getText().equals("")||txtname.getText().equals("")||txtdesc.getText().equals("")||txtcompany.getText().equals(""))
                {
                        JOptionPane.showMessageDialog(this,"Please fill in all fields.");
                }
                else if(txtid.getText().matches("\\d{3}-\\d{1}"))
                {
                        JOptionPane.showMessageDialog(this,"Invalide ID format.(eg.000-1)");
                                txtid.requestFocus();
                }
                else
                {
                        flag=true;
                }
        }
       
        public void validate2(){
                if(txtsearch.getText().equals(""))
                {
                        JOptionPane.showMessageDialog(this,"Please enter search ID.");
                        txtsearch.requestFocus();
                }
                else if(!txtsearch.getText().matches("\\d{3}-\\d{1}"))
                {
                        JOptionPane.showMessageDialog(this,"Invalid ID format. (eg.000-1");
                        txtsearch.requestFocus();
                }
        }
       
       
}


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

7#
发表于 2009-6-25 01:36 PM |只看该作者
從你的編輯器中 AssignmentGUI 第 146 行是哪一行??
是 new productmethod 這行嗎??


回复

使用道具 举报

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

8#
发表于 2009-6-25 01:46 PM |只看该作者

回复 #7 Super-Tomato 的帖子

lblblank.setBackground(blue);
是这个~


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

9#
发表于 2009-6-25 03:53 PM |只看该作者
原帖由 Iceleafleave 于 2009-6-25 01:46 PM 发表
lblblank.setBackground(blue);
是这个~



如果是這個 lblblank 的話就代表你沒有 new Label 指定對象


回复

使用道具 举报

0

主题

0

好友

69

积分

中级会员

Rank: 2Rank: 2

10#
发表于 2009-6-25 04:32 PM |只看该作者

回复 #9 Super-Tomato 的帖子

o~谢谢Super-Tomato


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-25 10:37 AM , Processed in 0.105376 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部