所以,当我按下某个按钮时,我的文件应该“安全”更新。我的代码是:
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时实现我的方法?