como - scrollbar panel java
DiseƱo personalizado JScollPane Java Swing (3)
Necesito diseñar esta barra de desplazamiento para todos mis scrollpanes:
Con Java Swing. Estoy usando Netbeans IDE. ¿Cuál es la solución más simple?
Muchas gracias.
Saludos
Puede personalizar el aspecto de un componente Swing configurando una IU personalizada . En el caso de la barra de desplazamiento de un panel de desplazamiento, lo haces
scrollPane.getVerticalScrollBar().setUI(new MyScrollBarUI());
donde MyScrollBarUI
se deriva de javax.swing.plaf.basic.BasicScrollBarUI
. Para hacer esto para todas las barras de desplazamiento (no solo en las instancias de JScrollPane
), llame
UIManager.put("ScrollBarUI", "my.package.MyScrollBarUI");
antes de crear cualquier componente Swing.
En MyScrollBarUI
, anula los siguientes métodos:
public class MyScrollBarUI extends BasicScrollBarUI {
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
// your code
}
@Override
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
// your code
}
}
Su barra de desplazamiento es gráficamente muy simple, por lo que no debería ser demasiado difícil de implementar.
No olvide que si planea usar el UIManager para anular todas las barras de desplazamiento como esta
UIManager.put("ScrollBarUI", "my.custom.SimpleScrollBarUI");
entonces su clase SimpleScrollBarUI debe tener el método createUI, es decir:
public class SimpleScrollBarUI extends BasicScrollBarUI {
public static ComponentUI createUI(JComponent c) {
return new SimpleScrollBarUI();
}
//...
}
1) anula JToolBar
2) la mayor parte de Custom Look and Feel anuló esa