亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

報錯出現空指針異常,why???

報錯出現空指針異常,why???

什么鬼_呀你 2017-09-03 23:18:56
事件监听器类里面的调用,实验输出不报空,但if循环里面横空杀出,上代码,请大神们解惑!谢谢! public class TEST { public static void main(String[] args) { // TODO Auto-generated method stub new myframe6("窗口6"); } } class myframe6 extends Frame{ public myframe6(String title) { // TODO Auto-generated constructor stub super(title); init(); reqisterListener(); } //两个容器 private Panel card_panel=null;//存放页面文本 private Panel trol_panel=null; //两个布局 private FlowLayout fy=null;//窗体布局 private CardLayout cr=null;//卡片布局布局 //标签 private Label l1,l2,l3,l4; //编辑文本 private TextField tf=null; //控制按钮 private Button b1,b2,b3,b4; public void init(){ //创建两个容器 Panel card_panel=new Panel(); Panel trol_panel=new Panel(); cr=new CardLayout();     fy=new FlowLayout(); //制定容器布局     card_panel.setLayout(cr);     trol_panel.setLayout(fy);     //窗体的设置 this.setBackground(Color.BLUE); this.setVisible(true); this.setSize(300,300); this.add(card_panel,BorderLayout.CENTER);//卡片摆放位置 this.add(trol_panel, BorderLayout.SOUTH);//按钮摆放位置 //创建实例 l1=new Label("第一页内容",Label.CENTER); l2=new Label("第二页内容",Label.CENTER); tf=new TextField(); l3=new Label("第三页内容",Label.CENTER); l4=new Label("第四页内容",Label.CENTER); b1=new Button("首页"); b2=new Button("上一页"); b3=new Button("下一页"); b4=new Button("最后一页"); //添加实例 trol_panel.add(b1); trol_panel.add(b2); trol_panel.add(b3); trol_panel.add(b4); card_panel.add(l1); card_panel.add(l2); card_panel.add(l3); card_panel.add(l4); card_panel.add(tf); } private void reqisterListener(){ BtnListener bt=new BtnListener(); //产生一个事件监听器对象 b1.addActionListener(bt); b2.addActionListener(bt); b3.addActionListener(bt); b4.addActionListener(bt); } //实现事件监听器接口 class BtnListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub // System.out.println(e.getActionCommand()); // System.out.println(e.getSource());//获取事件源 Object obj=e.getSource(); if(e.getSource()==b1){    cr.first(card_panel); }else if(e.getSource()==b2){ cr.previous(card_panel); }else if(e.getSource()==b3){ cr.next(card_panel); }else if(e.getSource()==b4){ cr.last(card_panel); } } } }
查看完整描述

1 回答

已采納
?
風中打傘的小孩

TA貢獻73條經驗 獲得超20個贊

你這里已經?private Panel card_panel=null;//存放頁面文本,然后又?Panel card_panel=new Panel();導致監聽器那里card_panel是null

將Panel card_panel=new Panel(); ??Panel trol_panel=new Panel();

改為card_panel=new Panel(); ??trol_panel=new Panel();

查看完整回答
反對 回復 2017-09-10
  • 1 回答
  • 0 關注
  • 1395 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號