integrer des composants dans un Component

Le
phil89
Bonjour

J'ai un projet dont tous les objets heritent de Component et non pas
de Panel.
Et il possible d'inserer le Panel dans le Component et d'en faire
afficher le contenu de celui ci ?

Merci d'avance de vos suggestiond
Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
TGITS
Le #2052881
On 31 mar, 09:35, phil89
Bonjour

J'ai un projet dont tous les objets heritent de Component et non pas
de Panel.
Et il possible d'inserer le Panel dans le Component et d'en faire
afficher le contenu de celui ci ?

Merci d'avance de vos suggestiond
Philippe


Bonjour,
La classe Panel hérite de la classe Container qui hérite elle-même de
Component comme beaucoup de classes correspondant à des éléments de
l'interface graphique ("A component is an object having a graphical
representation that can be displayed on the screen and that can
interact with the user." --> Javadoc pour la classe Component).
Je ne comprends pas exactement ce que tu souhaites faire précisément :
pourrais-tu préciser ?

Christophe

phil89
Le #2106271
Bonjour

J'ai actuellement un projet qui contient plusieurs objets. ceux ci
sont serialise sur le disque, et affiche ou non suivant certaines
conditions .
Ils heritent tous de Component . Je dois maintenant pouvoir integrer
un composant de type tableau .
Si je fais heriter tous mes composants de Panel cela pose un soucis
dans les autres composants,
je me demandais si je pouvais integrer un panel dans un objet herite
de component, et en faire afficher les contenu .
J'ai deja fait quelques essais en redefinissant la methode paint, mais
les scrollbar de mon tableau pose probleme

Merci d'avance
Philippe
TGITS
Le #2111541
Bonjour,
j'avoue que je ne suis pas sûr d'avoir compris quel était ton
problème...

J'ai actuellement un projet qui contient plusieurs objets. ceux ci
sont serialise sur le disque, et affiche ou non suivant certaines
conditions .
jusque-là ok.


Ils heritent tous de Component . Je dois maintenant pouvoir integrer
un composant de type tableau .
Tableau --> JTable ?

Le composant de type Tableau fait partie des objets sérialisés?

Si je fais heriter tous mes composants de Panel cela pose un soucis
dans les autres composants,
Ne peux-tu utiliser de la composition plutôt que de l'héritage ?

Tu pourrais par exemple créer une classe Panel dédiée qui aurait un
attribut Component qui prendrait l'un de ces objets sérialisés pour
affichage... mais encore une fois je ne saisis parfaitement ce que tu
veux faire...

je me demandais si je pouvais integrer un panel dans un objet herite
de component, et en faire afficher les contenu .
Les contenus de quoi ? des objets sérialisés ? Pourquoi passer par un

panel pour les afficher ?
Et tu ne peux pas faire l'inverse, "intégrer" (par composition) le
component dans le Panel ?

J'ai deja fait quelques essais en redefinissant la methode paint, mais
les scrollbar de mon tableau pose probleme
Est-ce que c'est pour pouvoir avoir des Scrollbar avec la JTable ? Si

oui tu devrais jeter un oeil sur le tuto de Sun sur Swing
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html.

J'ai reproduit ci-après le bout qui pourrait t'intéresser :

---------
Adding a Table to a Container

Here is typical code for creating a scroll pane that serves as a
container for a table:

JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);

The two lines in this snippet do the following:

* The JScrollPane constructor is invoked with an argument that
refers to the table object. This creates a scroll pane as a container
for the table; the table is automatically added to the container.
* JTable.setFillsViewportHeight is invoked to set the
fillsViewportHeight property. When this property is true the table
uses the entire height of the container, even if the table doesn't
have enough rows to use the whole vertical space. This makes it easier
to use the table as a drag-and-drop target.

The scroll pane automatically places the table header at the top
of the viewport. The column names remain visible at the top of the
viewing area when the table data is scrolled.

If you are using a table without a scroll pane, then you must get
the table header component and place it yourself. For example:

container.setLayout(new BorderLayout());
container.add(table.getTableHeader(),
BorderLayout.PAGE_START);
container.add(table, BorderLayout.CENTER);
--------



Merci d'avance


Je ne sais pas si ma réponse t'aidera...

Christophe

Publicité
Poster une réponse
Anonyme