IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Problème ou Bug de swing avec les JDialogs ?


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Par défaut Problème ou Bug de swing avec les JDialogs ?
    Bonjour,

    Je rencontre un problème sur lequel je me suis récemment pris la tête.

    J'ai fini par faire une petite classe de test qui au final n'utilise rien de métier et seulement quelques composants Swing mettant en évidence le souci.

    Ma volonté consiste "juste" à mettre une liste déroulante dans un dialogue.

    Si la liste déroulante s'ouvre en dehors de la taille du dialogue (comprendre qu'une fois ouverte elle dépasse), dans ce cas cela fonctionne. Dans le cas contraire, si le JDialog est assez grand pour couvrir la surface de la liste déroulante ouverte, rien n'apparait.

    On peut noter que dans ce dernier cas, cela semble malgré tout marcher correctement quand on déplace le JDialog proche de la bordure de l'écran où il y a la barre des taches. Assez ... étrange.

    Du coup j'ai deux questions :
    1. Est-ce un problème connu et y a-t-il une solution ?
    2. Est-ce que c'est moi qui fait n'imp' aujourd'hui et je devrais peut être m'y prendre autrement ?

    Merci.

    Voici le code pour tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    package com.ankamagames.awer.ui.dialog;
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    public class JDialogTest extends JDialog {
     
     
    	public JDialogTest(Frame parent) {
    		super(parent, true);
    		setResizable(false);
    		setBounds(100, 100, 300, 100);  // This is OK.
    //		setBounds(100, 100, 100, 400);  // This is OK too.
    //		setBounds(100, 100, 300, 400);  // Not ok : combo box doesn't show proposals
     
    		JRootPane pane = getRootPane();
    		pane.setLayout(null);
     
    		JComboBox box = new JComboBox();
    		box.addItem("Blah 1");
    		box.addItem("Blah 2");
    		box.addItem("Blah 3");
    		box.addItem("Blah 4");
    		box.setBounds(20,20,200,30);
    		pane.add(box);
     
    		setVisible(true);
    	}
     
     
    	public static void main(String[] args) {
    		final JFrame frame = new JFrame();
    		frame.setBounds(100,100,600,500);
     
    		JButton button = new JButton("Click");
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				JDialogTest test = new JDialogTest(frame);
    				test.setVisible(true);
    			}
    		});
    		frame.getContentPane().add(button);
    		frame.setVisible(true);
    	}
    }

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JRootPane pane = getRootPane();
    C'est contentPane qu'il faut utiliser, pas rootPane.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Par défaut
    En effet ... mauvaise auto complétion ... *tousse*

    Merci à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bug affichage JFrame avec les marges (Insets)
    Par utoria dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 28/04/2007, 15h55
  2. Réponses: 5
    Dernier message: 18/10/2006, 14h52
  3. Problème Update Base de données avec les composants ADO
    Par lingli dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/04/2006, 00h41
  4. Problème d'envoie de text avec les sockets
    Par Coussati dans le forum Web & réseau
    Réponses: 6
    Dernier message: 16/09/2005, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo