1

因此,当我按下某个按钮时,我的文件应该会“安全”更新。我的代码是:

  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 时实现我的方法?

4

0 回答 0