poner como agregar java swing scrollbar customization scrollpane

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(); } //... }