IllegalStateException bloque l'execution du code
chrisee
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
chrisee Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
chrisee Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Salut,
J'essai de fixer le programme de l’exécution de mon bout de code pour essayer d'appliquer le pattern MVC vu que je suis entrain de l'apprendre,et je suis bloque dans mon programme main qui renvois des erreur lors du lancement.J'ai essayé de revoir mon code et je l'impression tout va bien.
Voici le code:
1)Mon model
2)Ma vue
3)Mon controlleur
4)Mon programe main
J'essai de fixer le programme de l’exécution de mon bout de code pour essayer d'appliquer le pattern MVC vu que je suis entrain de l'apprendre,et je suis bloque dans mon programme main qui renvois des erreur lors du lancement.J'ai essayé de revoir mon code et je l'impression tout va bien.
Voici le code:
1)Mon model
public class Model
{
private String firstname;
private String lastname;
public Model(String firstname, String lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
}
2)Ma vue
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Vue {
private final Stage fenetre;
private final Label firstnameLabel;
private final Label lastnameLabel;
private TextField firstnameTextField;
private TextField lastnameTextField;
private final Button firstnameSaveButton;
private final Button lastnameSaveButton;
private final Button hello;
private final Button bye;
//C'est le constructeur
public Vue(String titre) {
fenetre=new Stage();
fenetre.setTitle(titre);
//Widgets
firstnameLabel = new Label("Firstname");
lastnameLabel = new Label("Lastname");
firstnameTextField = new TextField();
lastnameTextField = new TextField();
firstnameSaveButton = new Button("Save firstname");
lastnameSaveButton = new Button("Save lastname");
hello = new Button("Hello!");
bye = new Button("Bye!");
VBox layout=new VBox();
layout.getChildren().addAll(firstnameLabel,firstnameTextField,firstnameSaveButton,hello,lastnameLabel,lastnameTextField,lastnameSaveButton,bye);
//Scene
Scene sc=new Scene(layout,300,100);
fenetre.setScene(sc);
fenetre.show();
}
//Nos getters et nos setters
public TextField getFirstnameTextField() {
return firstnameTextField;
}
public void setFirstnameTextField(TextField firstnameTextField) {
this.firstnameTextField = firstnameTextField;
}
public TextField getLastnameTextField() {
return lastnameTextField;
}
public void setLastnameTextField(TextField lastnameTextField) {
this.lastnameTextField = lastnameTextField;
}
public Button getFirstnameSaveButton() {
return firstnameSaveButton;
}
public Button getLastnameSaveButton() {
return lastnameSaveButton;
}
public Button getHello() {
return hello;
}
public Button getBye() {
return bye;
}
}
3)Mon controlleur
import javax.swing.*;
public class Controller
{
private final Model model;
private final Vue vue;
//Constructeur
public Controller(Model model, Vue vue) {
this.model = model;
this.vue = vue;
initVue();
}
public void initVue()
{
vue.getFirstnameTextField().setText(model.getFirstname());
vue.getLastnameTextField().setText(model.getLastname());
}
public void initController()
{
vue.getFirstnameSaveButton().setOnAction(e->saveFirstname());
vue.getLastnameSaveButton().setOnAction(e->saveLastname());
vue.getHello().setOnAction(e->sayHello());
vue.getBye().setOnAction(e->sayBye());
}
private void saveFirstname()
{
model.setFirstname(vue.getFirstnameTextField().getText());
JOptionPane.showMessageDialog(null,"Firstname saved!","Info",JOptionPane.INFORMATION_MESSAGE);
}
private void saveLastname()
{
model.setLastname(vue.getLastnameTextField().getText());
JOptionPane.showMessageDialog(null,"Lastname saved!","Info",JOptionPane.INFORMATION_MESSAGE);
}
private void sayHello()
{
JOptionPane.showMessageDialog(null,"Hello "+model.getFirstname()+" "+model.getLastname(),"Info",JOptionPane.INFORMATION_MESSAGE);
}
private void sayBye()
{
System.exit(0);
}
}
4)Mon programe main
public class Main
{
public static void main(String[] args)
{
Model m=new Model("Christian","Lisangola");
Vue v=new Vue("Exemple MVC");
Controller c=new Controller(m,v);
c.initController();
}
}
A voir également:
- IllegalStateException bloque l'execution du code
- Code puk bloqué - Guide
- Code ascii - Guide
- Téléphone bloqué code verrouillage - Guide
- Pavé tactile bloqué - Guide
- Code activation windows 10 - Guide
Voici les lignes concernes:
Dans le fichier Vue:ligne 23
Dans le fichier Main:ligne 6