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

AWT/Swing Java Discussion :

Selection l'onglet avec SWING


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut Selection l'onglet avec SWING
    Bonjour,

    Ca me semble simple mais je ne trouve pas.

    Je creer des onglets a la chaine en appuyant sur un bouton. Comment fait on pour que le nouvel onglet creer soit visible? et surtout comment selectionner un onglet. il y a bien .setVisible ou setSelectindex voir setEnable mais ca ne marche pas

    Cdt

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par totonin Voir le message
    Bonjour,

    Ca me semble simple mais je ne trouve pas.

    Je creer des onglets a la chaine en appuyant sur un bouton. Comment fait on pour que le nouvel onglet creer soit visible? et surtout comment selectionner un onglet. il y a bien .setVisible ou setSelectindex voir setEnable mais ca ne marche pas

    Cdt
    Qu'est-ce qui ne marche pas avec setSelectedIndex() ? C'est bien la méthode qu'il faut utiliser.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Je me suis appuyé sur l'exemple

    fenetre
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
     
     
    public class Fenetre extends JFrame {
     
    	//On déclare notre objet JSplitPane
    	private JTabbedPane onglet;
    	//Compteur pour le nombre d'onglets
    	private int nbreTab = 0;
     
    	//Vous êtes habitués à cette classe, maintenant... ;)
    	public Fenetre(){
    		this.setLocationRelativeTo(null);
    		this.setTitle("Gérer vos conteneurs");
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setSize(400, 200);
     
    		//Création de plusieurs Panneau
    		Panneau[] tPan = {	new Panneau(Color.RED),
    							new Panneau(Color.GREEN),
    							new Panneau(Color.BLUE)};
     
    		//Création de notre conteneur d'onglets
    		onglet = new JTabbedPane();
    		for(Panneau pan : tPan){
    			//Méthode d'ajout d'onglets
    			onglet.addTab("Onglet N°"+(++nbreTab), pan);
    		}
    		//on passe ensuite les onglets au contentPane
    		this.getContentPane().add(onglet, BorderLayout.CENTER);
     
    		//Ajout du bouton pour ajouter des onglets
    		JButton nouveau = new JButton("Ajouter un onglet");
    		nouveau.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				onglet.add("Onglet N°"+(++nbreTab), new Panneau(Color.DARK_GRAY));
    			}
    		});
     
    		//Ajout du bouton pour retirer l'onglet sélectionné
    		JButton delete = new JButton("Effacer l'onglet");
    		delete.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				//On récupère l'index de l'onglet sélectionné
    				int selected = onglet.getSelectedIndex();
    				//S'il n'y a plus d'onglet, la méthode ci-dessus retourne -1
    				if(selected > -1)onglet.remove(selected);
    			}
    		});
     
    		JPanel pan = new JPanel();
    		pan.add(nouveau);
    		pan.add(delete);
     
    		this.getContentPane().add(pan, BorderLayout.SOUTH);
    		this.setVisible(true);
    	}
     
     
    	public static void main(String[] args){
    		Fenetre fen = new Fenetre();
    	}	
    }
    et Panneau
    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
     
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
     
    import javax.swing.JPanel;
     
     
    public class Panneau extends JPanel{
     
    	private Color color = Color.white;
    	private static int COUNT = 0;
    	private String message = "";
     
    	public Panneau(){}
    	public Panneau(Color color){
    		this.color = color;
    		this.message = "Contenu du panneau N°" + (++COUNT);
    	}
    	public void paintComponent(Graphics g){
    		g.setColor(this.color);
    		g.fillRect(0, 0, this.getWidth(), this.getHeight());
    		g.setColor(Color.white);
    		g.setFont(new Font("Arial", Font.BOLD, 15));
    		g.drawString(this.message, 10, 20);
    	}
    }
    L'objectif c'est que l'onglet creer passe automatiquement en premier plan. mais on ne peut pas faire un

    int select = onglet.getSelectedIndex();
    onglet.setSelectedIndex(select).setVisible(true);
    ou
    onglet.setSelectedIndex(select).setEnable(true);

    Dois-je plus tot faire cela sur mon JPanel. que j ai esseyé mais ca ne marche pas ou plus tot je n ai pas trouvé la bonne methode.

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Il faut que tu sélectionnes le dernier onglet.

    Tu peux récupérer le numéro à sélectionner avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int index = onglet.getTabCount() -1;
    Et ensuite, utiliser setSelectedIndex pour le sélectionner.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 89
    Points : 45
    Points
    45
    Par défaut
    Ca marche

    Merci encore

    Et merci aussi pour les tutoriels pour apprendre Java et pour la FAQ java

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

Discussions similaires

  1. [XL-2010] selection et copie d'onglet avec variable
    Par The Saint dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/01/2012, 16h51
  2. Creer onglet avec forms9
    Par simpletz dans le forum Forms
    Réponses: 5
    Dernier message: 10/08/2005, 12h46
  3. Ajouter des composants à chaud avec Swing
    Par raj dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/12/2004, 10h34
  4. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35
  5. Afficher une image avec swing
    Par arnonote dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/08/2004, 12h10

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