Java BasicProgressBarUI.getPrefrerredSize的空指针异常
执行Java BasicProgressBarUI.getPrefrerredSize的空指针异常,java,swing,Java,Swing,执行SaveDialogclasssetVisible(true)行时,我遇到以下异常 当用户点击保存按钮时,此程序将启动。然后,它将在尝试保存序列化对象数据时显示状态对话框 public class SaveController implements ActionListener,Serializable{ private JButton = new JButton("Save"); public SaveController(){ saveButton.ad
SaveDialog
classsetVisible(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);
}
}
公共类SaveController实现ActionListener,可序列化{
私有JButton=新JButton(“保存”);
公共存储控制器(){
saveButton.addActionListener(此);
}
已执行动作(动作事件ae){
如果(ae.getSource==saveButton){
新建saveDialog();
}
}
}
公共保存对话框扩展JDialog{
公共保存对话框(){
SwingUtilites.invokeLater(新Runnabe()(
公开募捐{
//设置gui布局…添加状态列表器
包装();
setVisible(true);//这就是它崩溃的地方
}
}
SaveTask=new SaveTask();
task.addEventListener(本);
task.execute()
}
}
公共类SaveTask扩展SwingWorker{
公共无效doInBackground(){
文件f=新文件(“文件”);
f、 createNewFile();
OutputStream文件=新的OutputStream(“文件”);
OutputStream buffer=新的BufferedOutputStream(文件);
ObjectOutput=新的ObjectOutputStream(缓冲区);
output.writeobject(对象);
}
}
获取异常。但是在哪里?添加stacktrace Please我以为输入了异常!空指针异常请学习java命名约定并坚持它们。这里是BasicProgressBarUI.getPreferredSize行820中的空指针异常。我没有完整的堆栈跟踪,但它是从我尝试执行setVisible(true)的代码开始的在“保存”对话框中