Exception in thread "JavaFX Application Thread"

Résolu/Fermé
moi411
Messages postés
180
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
25 juin 2017
- 12 juil. 2015 à 14:08
greg6614
Messages postés
592
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
3 juin 2017
- 10 août 2015 à 03:33
Bonjour,
J'ai une comboBox que je remplie avec des splitPane (pour avoir des icons devant les items). Tout se déroule correctement jusqu'au moment ou je click sur un item...
J'obtiens alors une exception: Exception in thread "JavaFX Application Thread" java.lang.NullPointerException etc.
Ci-dessous le code en espérant que quelqu'un ait déjà eu le problème (et l'ait corrigé!):

//comboBox
 
ComboBox<SplitPane> myComboBox = new ComboBox<SplitPane>();
myComboBox.setLayoutX(491.0);
myComboBox.setLayoutY(382.0);
myComboBox.setPrefWidth(176.5);
 
 
//liste d'items  (ComBoxItemPerso est une classe avec des variables et les propriétés qui vont avec)
//une variable "nomItem" par exemple "1" ou "2" etc
//une variable "urlIcon" par exemple "application/1.png" etc.
 
ObservableList<ComBoxItemPerso> options = FXCollections.observableArrayList(new ComBoxItemPerso("1", "application/1.png"), new ComBoxItemPerso("2", "application/2.png"), new ComBoxItemPerso("3", "application/3.png"));	
SplitPane splitItem;
Label rightLabel;		
ImageView leftImage;
 
for(ComBoxItemPerso cIP: options)
{
	splitItem = new SplitPane();
	rightLabel = new Label();
	leftImage = new ImageView();
 
	splitItem.setOrientation(Orientation.HORIZONTAL);
	splitItem.setPrefHeight(25);
 
	rightLabel.setText(cIP.getNomItem());                             //propriété qui récupère le nom de l'item (classe ComBoxItemPerso)
	rightLabel.setOnMousePressed(this::itemClickEvent);
	leftImage.setImage(new Image(cIP.getUrlIcon()));	        //propriété qui récupère l'url de l'icon de l'item (classe ComBoxItemPerso)			
	splitItem.getItems().addAll(leftImage, rightLabel);
	myComboBox.getItems().add(splitItem);
}
 
root.getChildren().add(myComboBox);           //Group root = FXMLLoader...
 
 
//Evènement
 
protected void itemClickEvent(MouseEvent event)
{		
	Label l = (Label)event.getSource();
        //println(...); //fonctionne très bien	
	detailsTextField.setText(l.getText());	//exception ic!!!
}


Merci d'avance!
Bon week-end!



--
A voir également:

2 réponses

greg6614
Messages postés
592
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
3 juin 2017
106
Modifié par greg6614 le 6/08/2015 à 03:33
Hello,

Ton objet Label est null, surement un probléme de cast, essai ceci :

protected void itemClickEvent(MouseEvent event)
 {  
  String l = event.getSource().toString();
  detailsTextField.setText(l);
 }


En espérant t'avoir aider
Greg
1