Java - 暂停一个方法,直到在另一个类中按下按钮

时间:2016-01-11 02:10:54

标签: java multithreading swing pause

好吧,所以我现在正在为大学做一个项目。 基本上是纸牌游戏,在这种情况下是一个编辑器来创建自己的套牌。 当用户尝试保存卡组时,程序会检查具有该名称的文件是否已存在。如果是,则会打开通知。 用户可以确认或取消(按通知中的按钮将布尔值设置为true或false)

我现在需要一种暂停saveDeck方法的方法,直到用户按下通知窗口中的按钮。到目前为止我发现的一切,在网上搜索都是关于计时器(这对我的问题没有帮助),或者以一种我一点也不明白的方式解释。

无论如何,这是我到目前为止的代码,关于我的问题: 甲板课程:

public class Deck{
[...]
private String name = "";
private boolean overwrite = false;
[...]
public void saveDeck(){
    if (this.name.equals("")){
        ErrorWindow error = new ErrorWindow(3); 
        return;
    }else{
    }
    String deckpath = "Decks\\" + this.name +".txt";
    File deck = new File(deckpath);
    if (deck.exists() == true){
        Notification note = new Notification(1, this);
            if (overwrite == true){
            try{
                deck.createNewFile(); //recreates the file
                writeDeckToFile(deck); //writes the decks cardlist into the file
                updateDecklist(this.name); //updates the decklist
            }catch (IOException e){
                ErrorWindow error = new ErrorWindow(2);
            }
        }else{
            return;  
        }
    }
}

通知类:

public class Notification extends JFrame {
[...]
public Notification(int key, Deck deck) {
[...]
JButton okayButton = new JButton("Okay");
    okayButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            dispose();
            deck.setOverwrite(true); //sets the decks overwrite boolean true    
        }
    });
    okayButton.setBounds(10, 86, 144, 23);
    contentPane.add(okayButton);

    JButton cancelButton = new JButton("Cancel");
    cancelButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            dispose();
            deck.setOverwrite(false); //sets the decks overwrite boolean false
        }
    });

Sooo ...是的......如果有人能在这里给我一些建议会很好。

0 个答案:

没有答案