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

Composants Java Discussion :

[JTable] problèmes divers


Sujet :

Composants Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut [JTable] problèmes divers
    Bonjour,

    Je suis occupé à "terminer" un programme d'édition de sous-titre.
    Il me reste juste quelques petits soucis :

    1) Je voudrais pouvoir sélectionner dans lignes dans ma JTable par une méthode.
    Ma JTable a un ListSelectionListener pour récupérer l'index de début et de fin des lignes sélectionnées. Mais je ne trouve pas le moyen de sélectionner les lignes.

    2) La JTable a également un TableCellRenderer mais je ne vois plus les lignes sélectionnée...
    Les lignes que je sélectionne le sont bien, mais je ne vois plus l'effet bleuté dessus, qui indique leur sélection.
    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
     
    public class AffichageString implements TableCellRenderer {
     
    	JLabel cellule = new JLabel();
     
    	public Component getTableCellRendererComponent (
    					JTable table, Object value, boolean isSelected,
    					boolean hasFocus, int row, int col) {
     
     
    		if (col == 1 || col == 2) {
    			cellule.set...
    		}
    		....
    		return cellule;
    	}
    }
    J'ai essayé en rajoutant cellule.setOpaque(true); cellule.setBackground(...) mais alors toutes les lignes que je sélectionne reste dans la couleur définie. (je rafraichi le modele mais ca ne change rien)

    3) Y'a-t-il moyen d'insérer une video asser facilement en java ?
    Avoir une sorte de lecteur intégré que je placerais par exemple dans un JPanel ?
    (pour l'édition de sous-titre ce serait plutot utile...)


    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 104
    Points : 140
    Points
    140
    Par défaut
    1) JTable a une méthode public void setRowSelectionInterval(int index0, int index1) qui devrait convenir.

    2) Si tu implémentes TableCellRenderer toi-même, c'est à toi de visualiser l'effêt bleuté en fonction du paramètre isSelected. Ou alors, fais hériter ta classe de DefaultTableCellrenderer et sous-traite lui la tâche.

    3) Je ne sais pas...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    1) Merci, c'est exactement ce qu'il me fallait

    2) Et bien en fait, j'ai essayé celà, j'ai donc fait l'effet bleuté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (isSelected) {
      cellule.setOpaque(true);
      cellule.setBackground(Color.blue);
      cellule.setForeground(Color.white);
      ...
    mais le problème vient du fait, que lorsque je sélectionne une ligne soit elles deviennent toutes bleues soit toutes celles que je sélectionne deviennent bleues ET reste bleues
    et ce, meme après un rafraichissement.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 104
    Points : 140
    Points
    140
    Par défaut
    Comme c'est le même renderer qui sert pour toutes les cellules, je pense qu'il faut prévoir le cas "non bleuté" dans la branche else de ton if.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    2) Effectivement, le problème venait du fait que toutes les cellules utilisaient le même renderer. J'ai rajouté un setOpaque(false) dans le else et tout fonctionne bien.

    Merci de ton aide.

    Concernant le point 3) si quelqu'un a une idée, je suis preneur.

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    pour le point 3) dirige toi vers le java media framework(a toi de lancer google j'ai un peu la flemme là)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Je viens d'essayer, mais ca n'a pas l'air gagné...
    Première vidéo au format avi que je lance, jmf m'envoi un joli message comme quoi il ne peut la lire.

    Je ne sais pas s'il existe autre chose...

Discussions similaires

  1. [JTable] Problème pour rafraichir
    Par jaoued dans le forum Composants
    Réponses: 3
    Dernier message: 20/07/2005, 15h21
  2. [JTable] problème après suppression d'une ligne
    Par fredo3500 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 10h01
  3. Réponses: 1
    Dernier message: 08/03/2005, 15h19
  4. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07
  5. [Info] Insert/Update si problèmes divers
    Par portu dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/07/2004, 10h17

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