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 :

afficher du texte


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 177
    Par défaut afficher du texte
    Bonjour,

    j'ai fait une petite application pour visualiser le code source et la page html pour une URL donnée.
    J'ai ainsi deux onglets (JTabbedPane) dans mon Panel principal et je met un JLabel dans chaque Panel pour l'affichage.
    Le problème c'est que je ne vois rien dans mes onglets..

    Voici le code
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    import java.awt.BorderLayout;
    import java.awt.Dimension;
     
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.ScrollPaneLayout;
     
    /**
     * 
     * @author Nicolas
     *
     */
    public class JEditorPane extends JPanel{
     
    	private JLabel urlLabel;
    	private JLabel contentLabelSourceCode;
    	private JLabel contentLabelHTMLPage;
    	public JTextField urlField;
    	private JButton goOn;
    	private JEditorPaneControler jepc;
    	private JTabbedPane ongletsPane;
    	private JScrollPane scrollPaneSourceCode;
    	private JScrollPane scrollPaneHTMLPage;
    	private JPanel upPane;
     
    	public JEditorPane(){
     
    		super(new BorderLayout());
     
    		this.upPane = new JPanel();
    		add(upPane,java.awt.BorderLayout.NORTH);
     
    		this.urlLabel = new JLabel("URL : ");
    		upPane.add(urlLabel);
     
    		this.urlField = new JTextField("Rechercher...",40);
    		upPane.add(urlField);
     
     
    		this.goOn = new JButton("Go!");
    		upPane.add(goOn);
     
     
    		this.scrollPaneSourceCode = new JScrollPane();
    		this.scrollPaneSourceCode.setLayout(new ScrollPaneLayout());
    		this.scrollPaneHTMLPage = new JScrollPane();
    		this.scrollPaneHTMLPage.setLayout(new ScrollPaneLayout());
     
    		this.ongletsPane = new JTabbedPane();
    		ongletsPane.addTab("Page HTML", scrollPaneHTMLPage);
    		ongletsPane.addTab("Source Code", scrollPaneSourceCode);
     
    		this.contentLabelSourceCode = new JLabel("test source");
    		this.contentLabelHTMLPage = new JLabel("test html");
     
    		this.scrollPaneHTMLPage.add(contentLabelHTMLPage);
    		this.scrollPaneSourceCode.add(contentLabelSourceCode);
     
    		add(ongletsPane,java.awt.BorderLayout.CENTER);
     
    		Dimension panelDimension = new Dimension(800,600);
    		setMinimumSize(panelDimension);
    		setSize(panelDimension);
    		setPreferredSize(panelDimension);
     
    		jepc = new JEditorPaneControler(this);
     
    		//urlField.addCaretListener(jepc);
    		goOn.addMouseListener(jepc);
     
    	}
     
    	public void setContentLabelSourceCode(String contentLabelSourceCode) {
    		this.contentLabelSourceCode.setText(contentLabelSourceCode);
    	}
     
    	public void setContentLabelHTMLPage(String contentLabelHTMLPage) {
    		this.contentLabelHTMLPage.setText(contentLabelHTMLPage);
    	}
     
     
     
    }
    Pour tester j'ai simplment construit mes JLabel avec un texte.

    Si qqn a une idée merci

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    ton problème vient de la gestion des JScrollPanes :
    - il n'y a pas besoin d'appeler setLayout sur un JScrollPane. Le ScrollPaneLayout est utilisé tout seul sans rien d'autre
    - il ne faut pas utiliser la méthode add (qui est utilisée pour ajouter les JScrollBars et les JViewports), mais la méthode setViewportView. Une solution plus simple est d'utiliser le constructeur avec l'élément à afficher dedans.

    Voici un exemple d'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    this.contentLabelSourceCode = new JLabel("test source");
    this.scrollPaneSourceCode = new JScrollPane(contentLabelSourceCode);
    ongletsPane.addTab("Source Code", scrollPaneSourceCode);
     
    // si tu veux changer le contenu du JScrollPane
    scrollPaneSourceCode.setViewportView(monAutreComposant);
    Quelques remarques supplémentaires :
    - inutile d'appeler setSize. setMinimumSize et setPreferredSize suffisent.
    - un JTextPane ou JEditorPane sera peut-être mieux pour afficher le code source et la page web que des JLabel.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

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

Discussions similaires

  1. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35
  2. [TabControl] Afficher du texte en transparence
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/10/2004, 23h01
  3. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53
  4. afficher du texte
    Par Mau dans le forum OpenGL
    Réponses: 10
    Dernier message: 24/06/2003, 15h31
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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