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