0

SaveDialogclass setVisible(true)行を実行すると、次の例外が発生します。

このプログラムは、ユーザーが保存ボタンを押すと開始されます。次に、シリアル化されたオブジェクトデータを保存しようとしているときにステータスダイアログが表示されます。

public class SaveController implements ActionListener,Serializable{
    private JButton = new JButton("Save");
    public SaveController(){
         saveButton.addActionListener(this);
    }
    actionPerformed(ActionEvent ae){
       if(ae.getSource == saveButton){
             new saveDialog();
       }
    }
}

public saveDialog extends JDialog{
    public saveDialog(){

         SwingUtilites.invokeLater(new Runnabe()(
            public void run(){
                   // set up gui layout...add status lister
                   pack();
                   setVisible(true);// this is where it crashes
            }
         }
         SaveTask task = new SaveTask();
         task.addEventListener(this);
         task.execute()
     }
}

public class SaveTask extends SwingWorker<void,void>{

    public void doInBackground(){
        File f = new File("file");
        f.createNewFile();
        OutputStream file = new OutputStream("file");
        OutputStream buffer = new BufferedOutputStream(file);
        ObjectOutput output = new ObjectOutputStream(buffer);
        output.writeobject(object);
    }
}
4

0 に答える 0