Bonjour,

je débute dans la communication entre Matlab et Java.

J'ai des classes Java, situées dans un.jar, que je voudrais instancier et utiliser sous Matlab.

J'ai réussi à le faire pour une classe simple : Imprimante. Voici ce que j'ai fait :

Définition de la classe sous java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
package armoire.tiroir.vue;
 
public class Imprimante {
	private String texte_ ;
 
	public Imprimante(String texte){
		texte_ = texte ;
	}
 
	public void imprime(){
		System.out.println(texte_);
	}
}
J'ai exporté cette classe sous forme de Imprimerie.jar.

Sous Matlab, je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
>> javaaddpath('D:\Imprimerie.jar') ;
>> import armoire.tiroir.vue.Imprimante ;
puis je peux utiliser la classe tranquillement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
>> objet = Imprimante('bonjour !!!') ;
>> objet.imprime ;
bonjour !!!



Tout ça marche très bien. Par contre, pour des classes plus compliquées (avec un constructeur implicite, des relations d'héritages etc...), ça ne fonctionne pas.
Matlab me renvoie irrémédiablement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
>> objet = MaClasseCompliquee()
??? Undefined function or variable 'MaClasseCompliquee'.
A l'aide !