T'as géré, en fait j'avais déja essayé cette solution mais ça marchais pas , je viens d'insister et en fait il suffisait de configurer le layout du JPanel à null, sinon des que je metais ma ScrollPane dans mon JPane ça ressemblais à rien , et j'étais bloqué avec visual Editor
je met la soluce pour qui ça interesse
on créait le Jtabbed et on lui met le pannel dedans (via visual editor):
1 2 3 4 5 6 7 8 9 10 11 12
| private JTabbedPane getOnglet() {
if (onglet == null) {
onglet = new JTabbedPane();
onglet.setBounds(new java.awt.Rectangle(18,100,925,579));
//onglet.setPreferredSize(new Dimension(400,400));
onglet.addTab("google", null, getConteneurgoogle(), null);
onglet.addTab("yahoo", null, getConteneuryahoo(), null);
onglet.addTab("erreur", null, getConteneurerreur(), null);
}
return onglet;
} |
On configure le layout du pannel à null dans les propriétés.
On Ajoute une ScrollPane dans le pannel (qui est dans le jtabbedpane)(tj grace a visual Editor, Drag & drop ^^)
1 2 3 4 5 6 7 8
| private JScrollPane getScrollerreur() {
if (scrollerreur == null) {
scrollerreur = new JScrollPane(error);
scrollerreur.setBounds(new java.awt.Rectangle(0,-3,921,553));
scrollerreur.setViewportView(getError());
}
return scrollerreur;
} |
Et enfin on ajoute le JEditorPane dans la scrollbar via visual editor
ou par le code apres avoir créé le JEditorPane :
scrollerreur = new JScrollPane(JEditorPane);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| private JEditorPane getError() {
if (error == null) {
error = new JEditorPane();
error.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
error.setPage(e.getURL());
} catch (IOException e3) {
e3.printStackTrace();
}
}
}
});
error.setEditable(false);
error.setContentType("text/html");
}
return error;
} |
Par contre visual Editor ne fait pas tout
, in ne faut pas oublier de rajouter
scrollerreur.setViewportView(getError());
Dans le code de la ScrollPane
Et par défaut visual Editor configure la propriété "verticalScrollBarPolicy" à "AS_NEED" donc la bar n'apparrait que en cas de nécéssité c'est exactement ce que je voulais
Et voila je suis trop content ça faisait un moment que ça me stréssé ^^
Partager