Comment obtenir parent pour JDialog à partir d'un Composite
Dans mon Swing application. J'ai un JFrame
avec quelques JPanels
. L'une d'elle que j'utilise pour placer une autre des panneaux. Et l'un d'eux - un autre groupe - appels un JDialog
. Constructeur de dialogue accepte Frame
, String
et Boolean
en tant que paramètres. Mon problème est de savoir comment obtenir parent (qui est l'image) à partir de ce panneau?
SwingUtilities.windowForComponent(...)
et SwingUtilities.getWindowAncestor(...)
ne fonctionne pas dans mon cas. Constructeur sans paramètres n'est pas une option.
Utilisez la technique de spectacle ici. Si vous ne pouvez pas faire ce travail à votre cas d'utilisation, de poster un SSCCE de votre meilleure tentative.
Juste pour savoir, pourquoi ne pas
Juste pour savoir, pourquoi ne pas
SwingUtilities.getWindowAncestor(...)
de travail dans votre cas?OriginalL'auteur user1420504 | 2012-05-27
Vous devez vous connecter pour publier un commentaire.
Chaque JComponent prend en charge la Méthode getParent(). Comme le nom de la méthode est dit, il vous renvoie une référence à la mère de ce composant. Depuis JDialog, Composite, JFrame, etc. sont des sous-classes de JComponent, vous pouvez l'utiliser dans votre cas.
Mais sachez que vous avez à faire à un type de fonte, par exemple :
JFrame parentFrame = (JFrame) myContenPane.getParent()
Et en fonction de votre mise en page, vous pouvez avoir à faire appel getParent() plusieurs fois, ce qui est assez laid.
Espère que cette aide.
OriginalL'auteur gmazlami
Pour obtenir panneau actuel parent, vous pouvez utiliser la méthode suivante:
OriginalL'auteur vinay