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 :

[JScrollPane,JTable]Afficher un endroit de la JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de warwink
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 650
    Par défaut [JScrollPane,JTable]Afficher un endroit de la JTable
    Donc en gros, j'ai un JTable assez grand dans un JScrollPane, donc il y a un scrollpane vertical et horizontal.

    Grâce à une autre vue, je veux pouvoir modifier l'endroit que je vois de mon JTable.

    Ex: A l'écran, je ne vois que les colonnes de 0 à 9 et grâce à un bouton, je veux voir les colonnes 20 à 29.

    Pour l'instant, la seul technique que j'ai trouvé pour afficher une autre partie de la JTable, c'est de faire un setLocation sur celle ci. Le problème, c'est que les scrollPane vertical et horizontal, un table dans le RowHeaderView du JScrollPane et le header des colonnes.

    Le code qui suit est un exemple:

    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
    public class Table {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame();
    		frame.setSize(200,130);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		Object[][] data = new Object[][]{
    			{1,2,3,4,5},{6,7,8,9,10},{1,2,3,4,5},{6,7,8,9,10},
    			{1,2,3,4,5},{6,7,8,9,10},{1,2,3,4,5},{6,7,8,9,10}
    		};
    		Object[] name = new Object[]{"0","1","2","3","4"};
    		final JTable table = new JTable(data, name);
    		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    		JScrollPane sp = new JScrollPane(table);
    		frame.getContentPane().add(sp, BorderLayout.CENTER);
     
    		JButton button = new JButton("Next");
    		button.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e) {
    				Point p = table.getLocation();
    				Point newP = new Point(p.x-20,p.y);
    				table.setLocation(newP);
    			}
    		});
    		frame.getContentPane().add(button, BorderLayout.SOUTH);
    		frame.setVisible(true);
    	}
    }
    Dans un premier temps, je me demande si le setLocation est la meilleure solution ? Ensuite comment faire pour résoudre mon problème ?

    Merci.

  2. #2
    Membre émérite Avatar de warwink
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 650
    Par défaut
    Bon, en faite j'avais mal regardé la Javadoc. Pour faire ceci, il y a la méthode scrollRectToVisible.

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

Discussions similaires

  1. [JTable][RadioButton]Afficher groupe de boutons dans JTable
    Par leminipouce dans le forum Composants
    Réponses: 11
    Dernier message: 21/02/2006, 18h04
  2. [JTable] afficher objet perso
    Par daedric dans le forum Composants
    Réponses: 11
    Dernier message: 08/02/2006, 21h00
  3. Problèmes d'affiche du header de mon JTable avec un Model
    Par Baptiste Wicht dans le forum Composants
    Réponses: 16
    Dernier message: 08/02/2006, 19h37
  4. [JTable] Afficher une date dans un tableau / Renderer
    Par isak dans le forum Composants
    Réponses: 3
    Dernier message: 11/07/2005, 18h09
  5. [JTable] afficher la table vide au début
    Par orgoz dans le forum Composants
    Réponses: 5
    Dernier message: 06/01/2005, 16h21

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