因此,当我按下某个按钮时,我的文件应该会“安全”更新。我的代码是:
public void writeBallot() throws IOException{
//need to make a new file
File realfile = new File("Ballots.txt");
File tempfile = new File("ballottemp.txt");
tempfile.createNewFile();
PrintWriter p = new PrintWriter(tempfile);
for ( int i = 0 ; i<theButtons.length; i ++)
p.println(indivelection.get(i) + ":" + intcounts[i]);
realfile.delete();
tempfile.renameTo(realfile);
当我按下某个按钮时,应该执行此方法。我为按钮编写的代码是:
if(e.getSource()==castVoteButton){
int reply = JOptionPane.showConfirmDialog(null,"Are you sure you are done voting?", "Are You Sure?", JOptionPane.YES_NO_OPTION);
if (reply == JOptionPane.YES_OPTION){
for (int j = 0; j<thePanels.length; j++){
((Ballot) thePanels[j]).buttonStatus(false);
((Ballot)thePanels[j]).checkyocolors();
}
castVoteButton.setEnabled(false);
loginButton.setEnabled(true);
for (int p = 0; p<thePanels.length; p++)
try {
((Ballot)thePanels[p]).writeBallot();
} catch (IOException e1) {
e1.printStackTrace();}
现在,我已经测试了在另一个类中编写更新文件的方法,它似乎可以工作,但是一旦我将它包装在 try, catch 中,这显然是 ActionListener 所必需的,它似乎没有做任何事情。
有没有人有任何建议或提示,以便我可以在按下 JButton 时实现我的方法?