Ich habe Spielprogramm, wo ich möchte, dass der Spieler das Dateiverzeichnis wählen, um sein Spiel zu speichern. Ich benutze JFileChooser
für das funktioniert völlig in Ordnung, aber es wird nicht geschlossen.Java JFileChooser wird nicht sterben
hier ist der Code:
public NewGameState(Game game) {
super(game);
open = new JButton();
fc = new JFileChooser();
fc.setCurrentDirectory(new java.io.File("."));
fc.setDialogTitle("Choose file for the new world");
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
}
public void tick() {
input();
selection();
}
public void render(Graphics g) {
drawSelection(g);
drawGUI(g);
}
private void input(){
if(game.getKeyManager().up){
selection --;
}else if(game.getKeyManager().down){
selection ++;
}
if(game.getKeyManager().space){
if(selection == 0){
fileChooser(); //calling fileChooser method when pressing space
}else if(selection == 1){
}else if(selection == 2){
}
}
}
private void selection(){
//blahbahabahaa
}
}
//fileChooser
private void fileChooser(){
fc.showOpenDialog(null);
}
Ich dachte, dass der Raum wahr ist und es hält die Ausführung von Code jeder tick es sich herausstellen wird der Code nicht aufhören zu lesen, die das Ticken proccess stoppt. Es liest die Methode immer wieder durch. Andere Antworten verwenden Panel, das ich nicht Panel in diesem Programm verwende ich canvas
und jframe
nur