Hallo Zusammen,
da auf den letzten Beitrag niemand geantwortet hat (verständlicherweise, da alles ein wenig unverständlich war, ich aber leider meine älteren Beiträge nicht mehr editieren konnte) und ich das Problem immer nocht nicht gelöst habe, hier nochmal (und hoffentlich zugänglicher).
Erklärung:
- Mithilfe eines Buttons wird ein Dialog aufgerufen der eine, vom Benutzer gewählte, Taste einliest und diese zusammen mit einem String, der durch das Dialog öffnen, festgelegt wird, speichert. Wenn der Dialog geöffnet wird, ist der String weapon noch auf dem Wert "glock".
- Durch die System.out's während der Tastenwahl prüfe ich, ob auch die richigen Tasten gespeichert werden. Die gewählten Tasten werden auch gespeichert, aber der String weapon mit dem Wert "glock", ist weg.
Beispiel Ausgabe:
Es sollte aber folgendes rauskommen:
Das ganze ist mit JavaFX (+FXML) und dem SceneBuilder mit zugewiesenem DocumentController geschrieben.
Ich hoffe ich habe das jetzt alles gut genug erkärt das mir jemand helfen kann, da ich echt nicht mehr weiter weis.
Mit freundlichen Grüßen
Fabian
Hier der gesamte Code:
da auf den letzten Beitrag niemand geantwortet hat (verständlicherweise, da alles ein wenig unverständlich war, ich aber leider meine älteren Beiträge nicht mehr editieren konnte) und ich das Problem immer nocht nicht gelöst habe, hier nochmal (und hoffentlich zugänglicher).
Erklärung:
- Mithilfe eines Buttons wird ein Dialog aufgerufen der eine, vom Benutzer gewählte, Taste einliest und diese zusammen mit einem String, der durch das Dialog öffnen, festgelegt wird, speichert. Wenn der Dialog geöffnet wird, ist der String weapon noch auf dem Wert "glock".
Java:
private void newDialogWindow(String name) throws Exception {
Stage dialog = new Stage();
Parent page = (Parent) FXMLLoader.load(getClass().getResource("FXMLbind.fxml"));
Scene scene = new Scene(page);
dialog.setScene(scene);
dialog.setTitle("Bind: " + name);
weapon = "glock";
System.out.println("-> " + weapon);
dialog.show();
}
- Durch die System.out's während der Tastenwahl prüfe ich, ob auch die richigen Tasten gespeichert werden. Die gewählten Tasten werden auch gespeichert, aber der String weapon mit dem Wert "glock", ist weg.
Java:
private void handleKeyPressed(KeyEvent event) {
key = event.getCode();
tfKeyPressed.setText(event.getCode().toString());
System.out.println("--> " + key);
System.out.println("--> " + weapon);
}
Java:
--> A
--> null
--> D
--> null
Java:
--> A
--> glock
--> D
--> glock
Das ganze ist mit JavaFX (+FXML) und dem SceneBuilder mit zugewiesenem DocumentController geschrieben.
Ich hoffe ich habe das jetzt alles gut genug erkärt das mir jemand helfen kann, da ich echt nicht mehr weiter weis.
Mit freundlichen Grüßen
Fabian
Hier der gesamte Code:
Java:
package buyscript;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.stage.Stage;
/**
*
* @author dot
*/
public class FXMLDocumentController implements Initializable {
private String weapon;
private KeyCode key;
@FXML
private TextField tfKeyPressed;
@FXML
private void handleGlockAction(ActionEvent event) {
try {
newDialogWindow("glock");
} catch (Exception ex) {
Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}
@FXML
private void newDialogWindow(String name) throws Exception {
Stage dialog = new Stage();
Parent page = (Parent) FXMLLoader.load(getClass().getResource("FXMLbind.fxml"));
Scene scene = new Scene(page);
dialog.setScene(scene);
dialog.setTitle("Bind: " + name);
weapon = "glock";
System.out.println("-> " + weapon);
dialog.show();
}
@FXML
private void handleKeyPressed(KeyEvent event) {
key = event.getCode();
tfKeyPressed.setText(event.getCode().toString());
System.out.println("--> " + key);
System.out.println("--> " + weapon);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
Zuletzt bearbeitet: