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 :

[JScrollpane] Impression "scrollableclient" + header


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut [JScrollpane] Impression "scrollableclient" + header
    Bonjour,

    J'ai un petit soucis avec un tableau, et plus précisément avec un tableau à double entrée que j'ai collé dans un JScrollpane auquel j'ai ajouté un row header.

    Donc mon soucis c'est que je voudrais pouvoir, d'une part visualiser le tableau dans un JScrollpane (ça, ça marche). Mais je voudrais aussi pouvoir imprimer la totalité du tableau (avec row et colmun header) et la ça ne marche plus

    J'ai essayé beaucoup de solutions en rapport avec la fonction print() de JTable, aucune ne marche... (en fait, des fois j'ai juste le cadre et rien dedans et des fois ça s'affiche...)

    Donc je veux implémenter l'interface Printable sur un objet héritant de JScrollPane (et qui affiche le tableau à l'écran tout bien comme il faut), mais la ça bloque aussi... il ne m'affiche que la partie visible du tableau lorsqu'il y a des ascenseurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
    		if (pageIndex!=0) {
    			return NO_SUCH_PAGE;
    		}
    		Dimension dim = getSize();
    		double scaleX = pageFormat.getImageableWidth() / dim.width;
    		double scaleY = pageFormat.getImageableHeight() / dim.height;
    		double scale = Math.min(scaleX, scaleY);
    		Graphics2D g2D = (Graphics2D)g;
    		g2D.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
    		g2D.scale(scale, scale);
    		this.print(g);
    		return PAGE_EXISTS;
    	}
    J'aimerais donc pouvoir récupérer la partie cachée dans le JScrollPane pour avoir la totalité des lignes/colonnes lors de l'impression

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Par défaut
    Ca ne passionne pas grand monde mon problème

    Bon je l'ai toujours pas résolu, j'ai même découvert des choses...

    J'ai réussi à imprimer la totalité du JViewPort en utilisant

    Par contre il ne m'imprime ni le columnHeader ni le RowHeader. Et la les problèmes commence... j'essaie de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getColumnHeader().printAll(g);
    mais la il m'imprime ce qu'il a envie d'imprimer (des fois les 10 premiers, des fois les 20 premiers...) alors que si j'essaie d'imprimer le viewPort uniquement cela fonctionne tout le temps...

    Je sais plus trop quoi faire donc si quelqu'un pouvait essayer de m'aider je lui en serait très reconnaissant !

    Merci d'avance

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