首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求高手帮忙这段代码错哪了

2013-04-07 
求高手帮忙这段代码哪里错了import java.io.*import java.util.*import java.awt.*import java.awt.eve

求高手帮忙这段代码哪里错了

import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class jishiben {
 private Frame f;
 private Menu m,mc;
 private MenuBar mb;
 private MenuItem closeItem,saveItem,openItem,mcc;
 private TextArea  TextAreas;
 private FileDialog openDialog,saveDialog;
 private Dialog dialogs;
 private Label labelTexts;
 private Button bt;
 private File file;
 
 jishiben(){
  init();
 }
 
 public void init(){
  f=new Frame("记事本");
  f.setBounds(300,100,600,500);
  //f.setLayout(new FlowLayout());
  
  mb=new MenuBar();
  m=new Menu("文件");
  mc=new Menu("子菜单");
  openItem =new MenuItem("打开");
  saveItem =new MenuItem("保存");
  closeItem =new MenuItem("退出");
  mcc=new MenuItem("子菜单的子菜单");
  
  dialogs=new Dialog(f,"dialogs",true); 
  dialogs.setLayout(new FlowLayout());
  
  m.add(mc);
  mc.add(mcc);
  m.add(openItem);
  m.add(saveItem);
  m.add(closeItem);
  mb.add(m);
  f.setMenuBar(mb);
  
  TextAreas =new TextArea();
  TextAreas.setColumns(5);
  f.add(TextAreas); 
  
  
  
  
  myEvents();
  f.setVisible(true);
 }
 
 public void myEvents(){
  f.addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
  });
  
  
  dialogs.addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e){
    dialogs.dispose();
   }
  });
  
  bt.addActionListener(new ActionListener() {//这里报错
public void actionPerformed(ActionEvent e) {
//dialogs.setVisible(false);
dialogs.dispose();
//dialogs.setVisible(false);
//System.out.print("1111111");
}
});
  
  saveItem.addActionListener(new ActionListener(){//保存文件动作
   public void actionPerformed(ActionEvent e2) {
    if(file==null){
    saveDialog=new FileDialog(f,"我要保存",FileDialog.LOAD);
        saveDialog.setVisible(true);
        String getPath=saveDialog.getDirectory();
        String getFile=saveDialog.getFile();
        
        if(getPath==null || getFile==null){
            //dialogs=new Dialog(f,"对不起,你没有选择",true);
            labelTexts=new Label("你没有选择任何内容");
            bt=new Button("确定");


            dialogs.add(labelTexts);
            dialogs.add(bt);
            dialogs.setBounds(300,300,100,50);
            dialogs.setVisible(true);
            return;
           }
        file=new File(getPath,getFile);
    }
    
    try {
     BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
     String text=TextAreas.getText();
     bufw.write(text);
     bufw.close();
} catch (Exception e) {
throw new RuntimeException("写入失败");
}
   
    
    
   }
  });
  
  openItem.addActionListener(new ActionListener(){//监控打开动作
   public void actionPerformed(ActionEvent e) {
    openDialog=new FileDialog(f,"我要打开",FileDialog.LOAD);
    openDialog.setVisible(true);
    String getPath=openDialog.getDirectory();
    String getFile=openDialog.getFile();
    if(getPath==null || getFile==null){
     //dialogs=new Dialog(f,"对不起,你没有选择",true);
     labelTexts=new Label("你没有选择任何内容");
     bt=new Button("确定");
     dialogs.add(labelTexts);
     dialogs.add(bt);
     dialogs.setBounds(300,300,100,50);
     dialogs.setVisible(true);
     return;
    }
    if(!((getPath+getFile).endsWith("txt")) && !((getPath+getFile).endsWith("java")) ){
    labelTexts=new Label("你选择的不是文本文件");
        bt=new Button("确定");
        dialogs.add(labelTexts);
        dialogs.add(bt);
        dialogs.setBounds(300,300,200,100);
        dialogs.setVisible(true);
        return;
    }
    TextAreas.setText("");
    file =new File(getPath,getFile);
    try {
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null){
TextAreas.append(line+"\r\n");
}
bufr.close();
} catch (Exception e2) {
// TODO: handle exception
throw new RuntimeException("读取失败");
}
    
    
   }
  });
  
  
 }
 
 public static void main(String[] args) {
  new jishiben();
 }
 
 
}








Exception in thread "main" java.lang.NullPointerException 


at jishiben.myEvents(jishiben.java:72)
at jishiben.init(jishiben.java:52)
at jishiben.<init>(jishiben.java:18)
at jishiben.main(jishiben.java:161)


[解决办法]
按钮没有初始化

热点排行
Bad Request.