ayuda con una funcion
Hola!!
Alguien me puede explicar para que sirve la funcion getViewport() de los JScrollPane. Es que tengo un error en un programa y no se si puede ser por eso.
Muchas gracias a todos
Alguien me puede explicar para que sirve la funcion getViewport() de los JScrollPane. Es que tengo un error en un programa y no se si puede ser por eso.
Muchas gracias a todos
Hola:
El JScrollPane lleva un componente dentro que es más grande y es el que se ve cuando mueves la barra de scroll.
getViewPort te devuelve una clase JViewPort. Esta clase es la que realmente tiene el componente y es la encargada de realizar el desplazamiento de una forma eficiente, de forma que sólo se vea aquella parte del comonente que cabe en el JScrollPane.
Si dices el error que tienes, quizás podamos darte más ayuda.
Se bueno.
El JScrollPane lleva un componente dentro que es más grande y es el que se ve cuando mueves la barra de scroll.
getViewPort te devuelve una clase JViewPort. Esta clase es la que realmente tiene el componente y es la encargada de realizar el desplazamiento de una forma eficiente, de forma que sólo se vea aquella parte del comonente que cabe en el JScrollPane.
Si dices el error que tienes, quizás podamos darte más ayuda.
Se bueno.
Hola de nuevo,
Muchas gracias por tu ayuda. El problema es que estoy intentando cargar una pagina en un JScrollPane( bueno más bien en un JEditorPane que esta dentro del scroll) y no me la carga completamente, sólo la parte que se ve, por eso he pensado que el problema podrÃa venir de ahÃ. Ademas si vuelvo a intentar cargala, esta vez si que lo hace bien. Me estoy volviendo loco!!
Muchas gracias de nuevo
Muchas gracias por tu ayuda. El problema es que estoy intentando cargar una pagina en un JScrollPane( bueno más bien en un JEditorPane que esta dentro del scroll) y no me la carga completamente, sólo la parte que se ve, por eso he pensado que el problema podrÃa venir de ahÃ. Ademas si vuelvo a intentar cargala, esta vez si que lo hace bien. Me estoy volviendo loco!!
Muchas gracias de nuevo
Pues espero que esto te sirva entonces... es como lo he hecho yo y me funciona correctamente.
PanelHTML = new JEditorPane();
PanelHTML.setLayout(new BorderLayout());
PanelHTML.setEditable(false);
PanelHTML.addHyperlinkListener(nav);
EditorKit editorHtml=PanelHTML.getEditorKitForContentType("text/html");
String className=JEditorPane.getEditorKitClassNameForContentType("text/html");
JEditorPane.registerEditorKitForContentType("text/html",className);
PanelHTML.setEditorKit(editorHtml);
PanelHTML.setContentType("text/html");
try {
PanelHTML.setPage(new URL("file:///C:/eclipse/workspace/RTP/notice.html"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// pongo el JEditorPane en un JScrollPane
JScrollPane scrollHTML = new JScrollPane();
scrollHTML.setViewportView(PanelHTML);
add(scrollHTML,BorderLayout.CENTER);
La pagina que he puesto que me cargue al ppio es una de muestra que trae el eclipse que es con el ide que desarrollo. PanelHTML es un JEditorPane. y creo que el resto lo entenderas sin ningun problema.
Si tienes alguna duda solo comentamelo
PanelHTML = new JEditorPane();
PanelHTML.setLayout(new BorderLayout());
PanelHTML.setEditable(false);
PanelHTML.addHyperlinkListener(nav);
EditorKit editorHtml=PanelHTML.getEditorKitForContentType("text/html");
String className=JEditorPane.getEditorKitClassNameForContentType("text/html");
JEditorPane.registerEditorKitForContentType("text/html",className);
PanelHTML.setEditorKit(editorHtml);
PanelHTML.setContentType("text/html");
try {
PanelHTML.setPage(new URL("file:///C:/eclipse/workspace/RTP/notice.html"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// pongo el JEditorPane en un JScrollPane
JScrollPane scrollHTML = new JScrollPane();
scrollHTML.setViewportView(PanelHTML);
add(scrollHTML,BorderLayout.CENTER);
La pagina que he puesto que me cargue al ppio es una de muestra que trae el eclipse que es con el ide que desarrollo. PanelHTML es un JEditorPane. y creo que el resto lo entenderas sin ningun problema.
Si tienes alguna duda solo comentamelo