Dessin d'une classe dans un JPanel

Résolu
bestlove00 Messages postés 17 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 2 mars 2014 - Modifié par cs_Julien39 le 20/02/2014 à 09:48
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 20 févr. 2014 à 09:55
Bonjour,
j'ai fait un rectangle vide dans une interface swing et je veux remplir ce rectangle avec des attributs et des méthodes venant d'un fichier xmi
Mais je ne sait pas comment faire ça??

3 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 févr. 2014 à 09:55
Oui bien sûr, une fois que tu as lu le fichier XML et récupéré tous les attributs, tu peux appeler la classe en lui passant des paramètres :

import java.awt.BorderLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;


public class Classe extends JPanel {
	
	public Classe(String nomClasse){
		setLayout(new BorderLayout());
		JLabel nom = new JLabel(nomClasse, JLabel.CENTER);
		nom.setBorder(BorderFactory.createEtchedBorder());
		add(nom, BorderLayout.NORTH);
		JTextArea attributs = new JTextArea();
		attributs.setEditable(false);
		attributs.setBorder(BorderFactory.createEtchedBorder());
		attributs.setOpaque(false);
		attributs.setText("String attribut1\nString attribut2\nint valeur1\n\nmethode()");
		add(attributs, BorderLayout.CENTER);
	}
	
	public static void main(String[] args){
		JFrame f = new JFrame();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(200, 250);
		f.setLocationRelativeTo(null);
		f.add(new Classe("NomDeLaClasse"));
		f.setVisible(true);
	}

}
2
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 févr. 2014 à 09:43
Salut,

Moi, j'aurais fais un truc de ce genre en travaillant plutot avec un JTextPane pour que ce soit plus joli :
import java.awt.BorderLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

import oracle.jrockit.jfr.JFR;


public class Classe extends JPanel {
	
	public Classe(){
		setLayout(new BorderLayout());
		JLabel nom = new JLabel("nomClasse", JLabel.CENTER);
		nom.setBorder(BorderFactory.createEtchedBorder());
		add(nom, BorderLayout.NORTH);
		JTextArea attributs = new JTextArea();
		attributs.setEditable(false);
		attributs.setBorder(BorderFactory.createEtchedBorder());
		attributs.setOpaque(false);
		attributs.setText("String attribut1\nString attribut2\nint valeur1\n\nmethode()");
		add(attributs, BorderLayout.CENTER);
	}
	
	public static void main(String[] args){
		JFrame f = new JFrame();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setSize(200, 250);
		f.setLocationRelativeTo(null);
		f.add(new Classe());
		f.setVisible(true);
	}

}

1
bestlove00 Messages postés 17 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 2 mars 2014
20 févr. 2014 à 09:51
est ce que on peut transformer le contenu de cette label en un contenu dynamique par exemple récupérer le contenu d'un fichier xml dans cette label ou forme
0
Rejoignez-nous