B'jour tous(tes),
j'ai un PopupMenu dont je souhaite me servir dans une frame qui peut
afficher, simultanément ou séparement, des tables et une tretable.
Je souhaite bien sûr que ce menu soit contextualisé, donc je fabrique
les items à la volée suivant la table (la treetable) dans laquelle
l'utilisateur a clické.
Ca marche, MAIS, au deuxième click seulement ????
Au premier le PopupMenu affiche un item par défaut, au second click il
affiche ce que je lui ai demandé ???
Pourtant quand je fais un print out du nombre d'items, avant de faire
popup.show(), le nb d'items est bien celui escompté ???
J'ai du oublié qqc ?
B'jour tous(tes),
j'ai un PopupMenu dont je souhaite me servir dans une frame qui peut
afficher, simultanément ou séparement, des tables et une tretable.
Je souhaite bien sûr que ce menu soit contextualisé, donc je fabrique
les items à la volée suivant la table (la treetable) dans laquelle
l'utilisateur a clické.
Ca marche, MAIS, au deuxième click seulement ????
Au premier le PopupMenu affiche un item par défaut, au second click il
affiche ce que je lui ai demandé ???
Pourtant quand je fais un print out du nombre d'items, avant de faire
popup.show(), le nb d'items est bien celui escompté ???
J'ai du oublié qqc ?
B'jour tous(tes),
j'ai un PopupMenu dont je souhaite me servir dans une frame qui peut
afficher, simultanément ou séparement, des tables et une tretable.
Je souhaite bien sûr que ce menu soit contextualisé, donc je fabrique
les items à la volée suivant la table (la treetable) dans laquelle
l'utilisateur a clické.
Ca marche, MAIS, au deuxième click seulement ????
Au premier le PopupMenu affiche un item par défaut, au second click il
affiche ce que je lui ai demandé ???
Pourtant quand je fais un print out du nombre d'items, avant de faire
popup.show(), le nb d'items est bien celui escompté ???
J'ai du oublié qqc ?
Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Thibal wrote:Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Bonne remarque ;-)
<code>
import java.awt.PopupMenu;
[...]
public class ShowDesktop {
[...]
static PopupMenu popup;
[...]
JXTable bottlesTable = new JXTable(datas, columnNames);
[...]
bottlesTable.add(popup);
bottlesTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
switch(e.getModifiers()) {
case InputEvent.BUTTON3_MASK: {
Enumeration enumeration = (Enumeration) ((TableColumnModel)
((JXTable) e.getSource()).getColumnModel()).getColumns();
PopupMenuBuild(enumeration, e.getComponent(), e.getX(),
e.getY());
break;
}
}
[...]
});
[...]
static PopupMenu createPopupMenu() {
popup = new PopupMenu("PopupMenu");
popup.add(new MenuItem("MenuItem"));
return popup;
}
static void PopupMenuBuild(Enumeration enumeration, Component
component, int x, int y) {
int idx = 0;
popup.removeAll();
while (enumeration.hasMoreElements()) {
TableColumn tc = (TableColumn) enumeration.nextElement();
popup.insert(new MenuItem((String) tc.getHeaderValue()),
idx);
idx++;
}
popup.show(component, x, y);
}
}
</code>
donc si, dans la boucle while juste au-dessus je fais un print-out j'ai
bien les headers de la table concernée, si je fais un print-out avant ET
après cette boucle de l'item count de popup, j'ai le bon résultat (1
avant, 7 après...)
Mais le show() qui suit n'affiche que l'item pas défaut...
si qq'un voit où est ma bévue... j'en serai ravi ;-)
Thibal <thibaut@cogidis.com> wrote:
Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Bonne remarque ;-)
<code>
import java.awt.PopupMenu;
[...]
public class ShowDesktop {
[...]
static PopupMenu popup;
[...]
JXTable bottlesTable = new JXTable(datas, columnNames);
[...]
bottlesTable.add(popup);
bottlesTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
switch(e.getModifiers()) {
case InputEvent.BUTTON3_MASK: {
Enumeration enumeration = (Enumeration) ((TableColumnModel)
((JXTable) e.getSource()).getColumnModel()).getColumns();
PopupMenuBuild(enumeration, e.getComponent(), e.getX(),
e.getY());
break;
}
}
[...]
});
[...]
static PopupMenu createPopupMenu() {
popup = new PopupMenu("PopupMenu");
popup.add(new MenuItem("MenuItem"));
return popup;
}
static void PopupMenuBuild(Enumeration enumeration, Component
component, int x, int y) {
int idx = 0;
popup.removeAll();
while (enumeration.hasMoreElements()) {
TableColumn tc = (TableColumn) enumeration.nextElement();
popup.insert(new MenuItem((String) tc.getHeaderValue()),
idx);
idx++;
}
popup.show(component, x, y);
}
}
</code>
donc si, dans la boucle while juste au-dessus je fais un print-out j'ai
bien les headers de la table concernée, si je fais un print-out avant ET
après cette boucle de l'item count de popup, j'ai le bon résultat (1
avant, 7 après...)
Mais le show() qui suit n'affiche que l'item pas défaut...
si qq'un voit où est ma bévue... j'en serai ravi ;-)
Thibal wrote:Ben là comme ça sans aucun morceau de code j'avoue que j'ai du mal à
comprendre ce qui peut bien se passer dans ton PopupMenu...
Bonne remarque ;-)
<code>
import java.awt.PopupMenu;
[...]
public class ShowDesktop {
[...]
static PopupMenu popup;
[...]
JXTable bottlesTable = new JXTable(datas, columnNames);
[...]
bottlesTable.add(popup);
bottlesTable.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
switch(e.getModifiers()) {
case InputEvent.BUTTON3_MASK: {
Enumeration enumeration = (Enumeration) ((TableColumnModel)
((JXTable) e.getSource()).getColumnModel()).getColumns();
PopupMenuBuild(enumeration, e.getComponent(), e.getX(),
e.getY());
break;
}
}
[...]
});
[...]
static PopupMenu createPopupMenu() {
popup = new PopupMenu("PopupMenu");
popup.add(new MenuItem("MenuItem"));
return popup;
}
static void PopupMenuBuild(Enumeration enumeration, Component
component, int x, int y) {
int idx = 0;
popup.removeAll();
while (enumeration.hasMoreElements()) {
TableColumn tc = (TableColumn) enumeration.nextElement();
popup.insert(new MenuItem((String) tc.getHeaderValue()),
idx);
idx++;
}
popup.show(component, x, y);
}
}
</code>
donc si, dans la boucle while juste au-dessus je fais un print-out j'ai
bien les headers de la table concernée, si je fais un print-out avant ET
après cette boucle de l'item count de popup, j'ai le bon résultat (1
avant, 7 après...)
Mais le show() qui suit n'affiche que l'item pas défaut...
si qq'un voit où est ma bévue... j'en serai ravi ;-)
Voilà, si avec ces deux conseils ça ne marche toujours pas, renvoie le
nouveau code et j'aprofondirais un peu plus la question.
Voilà, si avec ces deux conseils ça ne marche toujours pas, renvoie le
nouveau code et j'aprofondirais un peu plus la question.
Voilà, si avec ces deux conseils ça ne marche toujours pas, renvoie le
nouveau code et j'aprofondirais un peu plus la question.
Bon, je passe tout en Swing et donne le résultat.
Bon, je passe tout en Swing et donne le résultat.
Bon, je passe tout en Swing et donne le résultat.
Yvon Thoraval wrote:Bon, je passe tout en Swing et donne le résultat.
Après l'ajout de qq "J" j'ai eu la "J"oie de constater que ça marche
nettement mieux )))
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Yvon Thoraval <yvon.thoravalNO-SPAM@free.fr> wrote:
Bon, je passe tout en Swing et donne le résultat.
Après l'ajout de qq "J" j'ai eu la "J"oie de constater que ça marche
nettement mieux )))
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Yvon Thoraval wrote:Bon, je passe tout en Swing et donne le résultat.
Après l'ajout de qq "J" j'ai eu la "J"oie de constater que ça marche
nettement mieux )))
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Cependant, reste le problème (cf post précédent) de la màj des widths
des colonnes, qui ne fait rien du tout...
Au fait, ton bouton declencheur de PopupMenu tu l'as
mis ou ? Moi je l'ai mis dans le coin en haut à droite du tableau, au
dessus de la barre de défilement.
Au fait, ton bouton declencheur de PopupMenu tu l'as
mis ou ? Moi je l'ai mis dans le coin en haut à droite du tableau, au
dessus de la barre de défilement.
Au fait, ton bouton declencheur de PopupMenu tu l'as
mis ou ? Moi je l'ai mis dans le coin en haut à droite du tableau, au
dessus de la barre de défilement.
if(! (visible ^ isColumnVisible(columnIndex)))
if(! (visible ^ isColumnVisible(columnIndex)))
if(! (visible ^ isColumnVisible(columnIndex)))
Thibal wrote:if(! (visible ^ isColumnVisible(columnIndex)))
tiens, au fait, c'est quoi cette opérateur "^" ????
Thibal <thibaut@cogidis.com> wrote:
if(! (visible ^ isColumnVisible(columnIndex)))
tiens, au fait, c'est quoi cette opérateur "^" ????
Thibal wrote:if(! (visible ^ isColumnVisible(columnIndex)))
tiens, au fait, c'est quoi cette opérateur "^" ????