我是java的新手,我试图使其在按下按钮时生效,它将更新表中放置的新信息。我收到此错误:

unreported exception java.io.IOException; must be caught or declared to be thrown


这是我遇到麻烦的代码:

public static void updateAction(){

update.addActionListener(new ActionListener() {


 @Override
 public void actionPerformed(ActionEvent e) {
 BufferedWriter bfw = new BufferedWriter(new FileWriter(tmp));
 for(int i = 0 ; i < table.getColumnCount() ; i++)
 {
 bfw.write(table.getColumnName(i));
 bfw.write("\t");
 }

 for (int i = 0 ; i < table.getRowCount(); i++)
 {
 bfw.newLine();
 for(int j = 0 ; j < table.getColumnCount();j++)
 {
 bfw.write((String)(table.getValueAt(i,j)));
 bfw.write("\t");;
 }


 }
  bfw.close();

 }});
}


感谢你给与我的帮助。

最佳答案

BufferedWriter的方法引发IOException。您必须将其捕获在方法主体中或声明您的方法以将其抛出。

由于您正在使用ActionListener的匿名实现,因此无法更改actionPerformed的签名。因此,您必须在IOException内部捕获actionPerformed

10-07 16:00