begin process at 2012 02 14 23:01:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Java2D

 > 

[Swing] : probleme avec JScrollPane sur JPanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Swing] : probleme avec JScrollPane sur JPanel

dimanche 22 juillet 2007 à 18:08:42 | [Swing] : probleme avec JScrollPane sur JPanel

dinfree

Bonjour à tous,

Un truc tout bête messieurs dames mais j'ai un probleme pour faire apparaitre un "scroll" sur un JPanel.

La structure de mon IHM est la suivante :

- Une "JFrame"
- Un "JPanel" panelPrincipal
- Un "JPanel" panelGauche
- Un "JPanel" panelDroit

Remarque : Je met le Jpanel "Gauche" et le Jpanel "Droit" dans le Jpanel "principal".

J'affiche bien les deux JPanel Gauche et Droit mais lorsque les composants du panel Droit sont trop nombreux(lorsque l'on clic sur "creer un nouveau formulaire", le scroll ne se met pas en place ...

Infos suplémentaires :

- Le JScrollPane marche bien sur un seul JPanel. c'est a dire quand la JFrame ne contient qu'un seul JPanel.

- Lors de mes traitements sur le JPanel panelDroit, je fait un "panelDroit.removeAll();" pour vider tous le JPanel "Droit" et ajouter de nouveaux JComponent(Voir l'actionPerformed). Je ne sais pas si cele a une incidence?


Merci d'avance pour votre aide.

MON CODE :

// Mon objet courant est la JFrame ...
// Ici seul le bouton "butt_nouveau" fonctionne. (Si des fois vous voudriez essayer l'IHM)

package vue;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.util.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
import modele.*;

public class testPanel extends JFrame implements ActionListener{
 
 private static final long serialVersionUID = 0;
 
 public JPanel panelPrincipal   = null;
 public JPanel panelDroit       = null;
 public JPanel panelGauche      = null;
 public JPanel panelDescription = null;
 
 JScrollPane pr,Droit              = null;
 
 private JButton butt_nouveau       = null;
 private JButton butt_ouvrir        = null;
 private JButton butt_enregistrer   = null;
 private JButton butt_search        = null;
 private JButton butt_recherche    = null;
 private JButton butt_editer     = null;
 private JButton butt_supprimer     = null;
 private JButton butt_export        = null;
 private JButton butt_drop          = null;
 private JButton butt_quitter       = null;
 private JButton saisir_nouveau     = null;
 private JButton saisir_existant    = null;
 
 /**
  *  Le constructeur de la classe IHM permet de générer une JFrame
  *  avec un layout de type GridBagLayout
  */
 public testPanel(){
  super();
  
  build();//On initialise notre fenêtre
 }
 
 /**
  *  La méthode permet de construire l'IHM avec tous ces éléments associés
  */
 private void build(){
  
  this.setTitle("  Editeur de formulaire pour les CIP"); //On donne un titre à l'application
  this.setSize(800,600); //On donne une taille à notre fenêtre
  this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
  this.setResizable(true) ; //On autorise la redimensionnement de la fenêtre
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
  
        panelPrincipal = new JPanel();
        panelPrincipal.setPreferredSize(new Dimension(780, 580));

        panelGauche = new JPanel();
        panelGauche.setPreferredSize(new Dimension(300, 560));
        panelGauche.setBorder(new LineBorder(new Color(0,0,0)));
       
        panelDroit = new JPanel();
        panelDroit.setPreferredSize(new Dimension(450, 560));
        panelDroit.setBorder(new LineBorder(new Color(0,0,0)));
       
        JTextArea descr = new JTextArea();
        descr.setText("Affichage du composant JTextArea reussi");
       
        panelDescription = new JPanel(new GridBagLayout());
        panelDescription.setBorder(BorderFactory.createTitledBorder("Description"));
        panelDescription.setPreferredSize(new Dimension(450, 200));
        panelDescription.add(descr);
          
  /*
   *****************************************************
   *    Création des boutons du panel    *          *
   *****************************************************
   */
  
  butt_nouveau = new JButton();
  butt_nouveau.setText("Creer un formulaire");
  
  butt_nouveau.addActionListener(this);
  this.addComposantMain(panelGauche, butt_nouveau); 
  
  butt_ouvrir = new JButton();
  butt_ouvrir.setText("Ouvrir un formulaire");
  
  butt_ouvrir.addActionListener(this);
  this.addComposantMain(panelGauche, butt_ouvrir);
  
  butt_search = new JButton();
  butt_search.setText("Chercher un formulaire");
  
  butt_search.addActionListener(this);
  this.addComposantMain(panelGauche, butt_search);
  
  butt_supprimer = new JButton();
  butt_supprimer.setText("Supprimer un formulaire");
  butt_supprimer.addActionListener(this);
  this.addComposantMain(panelGauche, butt_supprimer);
  
  butt_export = new JButton();
  butt_export.setText("Exporter les formulaires vers une cle USB");
  //butt_export.setBackground( new Color(255,255,0));
  butt_export.addActionListener(this);
  this.addComposantMain(panelGauche, butt_export);
  
  butt_quitter = new JButton();
  butt_quitter.setText("Quitter l'application");
  //butt_quitter.setBackground( new Color(255,255,0));
  butt_quitter.addActionListener(this);
  this.addComposantMain(panelGauche, butt_quitter);
  
  saisir_nouveau = new JButton("Remplir formulaire");
  saisir_nouveau.addActionListener(this);
  
  saisir_existant = new JButton("Modifier formulaire");
  saisir_existant.addActionListener(this);
  
  butt_enregistrer = new JButton("Enregistrer formulaire");
  butt_enregistrer.addActionListener(this);
  
  butt_recherche = new JButton("Rechercher");
  butt_recherche.addActionListener(this);
  
  butt_editer = new JButton("Editer le formulaire");
  butt_editer.addActionListener(this);
  
  butt_drop = new JButton("Supprimer le formulaire");
  butt_drop.addActionListener(this);
  
  /******************************
   * MON PROBLEME EST CI-DESSOUS
   ******************************/
  panelPrincipal.add(panelGauche);
  panelDroit.add(panelDescription);
  Droit = new JScrollPane(panelDroit);
  panelPrincipal.add(Droit);
  
  this.add(panelPrincipal);
  
        pack();
        setVisible(true); // Affichage de l'IHM
        repaint();
 }

 public void addForm(JPanel panel, String text, JComponent component){
  
  JLabel label=new JLabel(text);
  GridBagConstraints gbc=new GridBagConstraints();
  gbc.gridwidth=1;
  gbc.insets=new Insets(3,8,3,8); // Définition des espaces entre chaques JComponent
  gbc.anchor=GridBagConstraints.LINE_START; // Le JComponent commencera au début de la ligne
  panel.add(label,gbc); // ajout du JLabel dans le JPanel
  gbc.anchor=GridBagConstraints.LINE_END; // Le JComponent finira à la fin de la ligne
  gbc.gridwidth=GridBagConstraints.REMAINDER; // On se souvient de l'emplacement du dernier élément
  gbc.fill=GridBagConstraints.HORIZONTAL; // Grille horizontal
  gbc.weightx=1.0;
  panel.add(component,gbc); // Ajout du JComponent dans le JPanel
 }

 public void actionPerformed(ActionEvent e) {
  if(e.getSource() == butt_nouveau){
   
   this.panelDroit.removeAll();
   
   
   for(int i = 0; i < 100; i++){
    addForm(panelDroit, "truc", new JTextField(25));  
   }
   
   setVisible(true);
   repaint();
  }
  if (e.getSource() == butt_quitter){
   System.exit(0);
  }
 }
 
 public static void main(String[] args) throws IOException {

  // MainPanelOk ihm = new MainPanelOk();
  // MainPanel ihm = new MainPanel();
   testPanel test = new testPanel();

 }
 
}

mardi 24 juillet 2007 à 02:04:32 | Re : [Swing] : probleme avec JScrollPane sur JPanel

GodConan

  panelPrincipal.add(panelGauche);
  panelDroit.add(panelDescription);
  Droit = new JScrollPane(panelDroit);
  panelPrincipal.add(Droit);
  
  this.add(panelPrincipal);
  
        pack();
        setVisible(true); // Affichage de l'IHM
        repaint();


cette partie de ton code c est du n import quoi ...
si rien ne fonctionne normalement c est normal...
Bien que n ayant pas bien compri l effet que tu veux rendre il est évident qu il te faut assimiler la notion de Layout avant tout... ;o) nulle part tu ne defini ton layout : setLayout( ... )
ensuite sur le JScroll aussi plusieurs chose t echape ;o) ...
il contiend une notion de viewport qu il faut donc lui donner pour qu il soit utile.... ;o) l utilisation la plus simple etant de la lui donner à la construction : new JScrollPane( tonJPanel );


ensuite un repaint derriere un pack est completement superflu .. de meme le setvisible je l aurai plutot positionné dans le Main  ;o)


GodConan ;o)


Cette discussion est classée dans : private, jpanel, jbutton, butt, panelgauche


Répondre à ce message

Sujets en rapport avec ce message

Quesque vous pensez ? [ par amine1234Z ] SalutEnfin Voila apres 6 jours de recherche comment Ajoutter un :Jtable avec layout null dans JscrollPane package testjscolpane;import ja ajouter menu sur JToolBar [ par ulysse00 ] bonsoir tout le monde je vous demande comment ajouter jmenuitem sur JToolBar par exemple si je click sur le bouton de JToolBar alors un menu s'ouvre Convertir une JTable ou mieux un Graphics2D en PNG ou JPEG [ par crjohnson ] Salut les frères,J'essaye d'enregistrer une JTable dans un fichier image (".png" de préférence car libre). J'ai tenté de faire cet enregistrement en l testet la saisi JFormattedTextField [ par ulysse00 ] bonsoir j'ai un problème je veux faire un test sur le JFormattedTextField si je click sur le bouton alors vérifié si les chiffres saisis inférieurs Creation d'une interface graphique [ par ihssan09 ] Bonsoir, s'il vous plait mes amis ,est ce que quelqu'un d'entre vous peut m'aider à résoudre les erreurs que contient mon code?affin de visualiser mon problème d'ajouter une ligne sur jtable [ par ulysse00 ] salut tout le monde j'ai un problème avec jtable je n'arrive pas à ajouter des nouveaux enregistremnt sur jtable pour mieux comprendre j'ai une table Applet et ImageIcon dans un bouton [ par heavenboy ] Bonjour, j'aimerais créer un applet contenant entre autre un bouton. Sur le bouton il y aurait une imageicon. J'ai déjà pas mal cherché et aucune des creer une application msn m aider a la terminer [ par massami123 ] bnsoir j ai une application qui consite a faire un msn j ai pu faire la connexion avec le serveur et meme apporté la liste de contact mais je suis blo Lire une video dans une application JAVA avec JMediaPane [ par CRUSH3000 ] Bonjour, Je suis en 2ème année en Ecole d'ingénieur et je dois faire un projet info mais j'ai un problème j'essaye de lire une video dans mon applica besoin d'aide [ par zaeinouba ] salut j suis une debutante en programation voici mon code j'arrive pas à le compiler si c possible aidez moi merci d'avance import javax.swing.*;


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales