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 :

Ajout de scrollbar dans JFrame ou redimension dynamique


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 19
    Points
    19
    Par défaut Ajout de scrollbar dans JFrame ou redimension dynamique
    Bonjour à vous,

    Je suis débutant en java Swing et par la force des choses, je doit débugger un programme. Ce n'est pas mon code, du coup c'est particulièrement dur pour moi de comprendre tout cela. J'ai un Jframe avec pas mal de JButton, JLabel, Jtable ... Problème: Pour certains écrans d'ordinateurs, la largeur de l'application est trop grande and on ne peut voir certain éléments. J'ai essayé d'utiliser des scroolbars ou de redimensionner dynamiquement la fenêtre mais, comme je l'ai dis, je suis débutant.
    Je ne peux pas vous montrer entièrement le code, mais je vais essayer de résumer la situation.



    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
    49
    50
    51
    52
    53
    public class maClasse extends JFrame {
        public static void updateProgressBar(final Integer type) {
            final SwingWorker<Integer, Void> worker = new SwingWorker<Integer, Void>() {
                @Override
                public Integer doInBackground() {
                    try {
     
                            fenetrePrincipale = new Calcul(false);
                            fenetreIntro.setLocationRelativeTo(fenetreIntro
                                            .getParent());
                            fenetrePrincipale
                            .setLocationRelativeTo(fenetrePrincipale
                                            .getParent());
     
                            fenetrePrincipale.setVisible(true);
     
                            fenetrePrincipale
                            .addWindowListener(new java.awt.event.WindowAdapter() {
     
                                @Override
                                public
                                void
                                windowClosing(final java.awt.event.WindowEvent windowEvent) {
                                    Log.ecrire(new File(Chemin
                                                    .getCheminLog()),
                                                    "INFO",
                                                    "Programme quitté! (Code retour 1)");
                                    System.exit(1);
                                }
                            });
        private static Calcul fenetrePrincipale;
     
        //more private ...
     
        public Calcul(final boolean loader) {
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            if (loader) {
                setTitle("Calcul de d\u00E9pendances");
                // setBounds(100, 100, 1058, 709);
                setExtendedState(Frame.MAXIMIZED_BOTH);
                contentPane = new JPanel();
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                contentPane.setLayout(new MigLayout(
                                "",
                                "[91.00px,grow][25.00][7.00px,grow][grow][][][][][][][][][][][231.00][][][][26.00][][-33.00][][41.00][231.00][][][][][-16.00][][][][-29.00][][-15.00]",
                                "[44px][][][][][][239.00,grow][-231.00][][][245.00,grow][96.00,grow][]"));
                //a lot of Jbutton, Jlabel, Jtable with the command
                //contentPane.add(btnJbutton) ...
     
                setContentPane(contentPane);
         }
     
    }
    Je pense que tout les éléments utile à la création du JFrame sont là. Pouvez vous m'aider à inclure des scrollbars ou à redimensionner l'écran dynamiquement?
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    Ben c'est pas gagné car le code utilise un Layout assez particulier : MigLayout
    Je ne le connais pas.
    Je t'ai concocté un exemple standard pour ajouter un JScrollPane à ton JFrame.
    Essaye de l'adapter avec le MigLayout

    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
     
            // on commence par le JPanel qui contiend les boutons allignés à gauche
            JPanel jPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));  // ici remplacer pour voir le FlowLayout par le MigLayout
            jPanel.setPreferredSize(new Dimension(700, 900)); // ici donner la dimension qui permettra de contenir tous les boutons
     
            // un petit bouton qui ne fait rien
            JButton jButton = new JButton("Kika ...");
            jButton.setPreferredSize(new Dimension(200, 30));
     
            // on ajoute le bouton au JPanel
            jPanel.add(jButton);
     
            // on encadre le JPanel avec un JScrollPane
            JScrollPane jScrollPane = new JScrollPane(jPanel);        
     
            // on fait un JFrame pour afficher le tout
            JFrame jFrame = new JFrame();
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // pour que l'application se ferme bien
     
            // on ajoute le JScrollPane dans le JFrame
            jFrame.add(jScrollPane);
     
            // on affiche le tout
            jFrame.setSize(500, 500);  // ici la dimension de la fenêtre
            jFrame.setLocationRelativeTo(null);
            jFrame.setVisible(true);
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 791
    Points
    4 791
    Par défaut
    En relisant ton code, tu peux essayer d'habiller le JPanel du centre avec un JScrollPane.
    ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // ligne à supprimer :
    // setContentPane(contentPane);
     
    // à remplacer par :
    JScrollPane jScrollPane = new JScrollPane(contentPane);
    setContentPane(jScrollPane);
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. Ajouter un scrollbar dans une picturebox
    Par hamza.rezgui dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/02/2013, 00h23
  2. Réponses: 0
    Dernier message: 22/10/2010, 08h39
  3. Réponses: 1
    Dernier message: 11/09/2009, 12h03
  4. [AC-2000] Pb ajout de label dans un formulaire en dynamique
    Par JesusHansHuberVorme dans le forum IHM
    Réponses: 5
    Dernier message: 25/08/2009, 11h58
  5. Comment ajouter une ScrollBar dans un TComboBox ?
    Par MottetCCSF dans le forum Composants VCL
    Réponses: 1
    Dernier message: 31/10/2007, 19h44

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