necesito para diseñar esta barra de desplazamiento para todos mis scrollpanes:diseño personalizado JScollPane Java Swing de
Con Java Swing. Estoy usando Netbeans IDE. ¿Cuál es la solución más simple?
Muchas gracias.
Saludos
necesito para diseñar esta barra de desplazamiento para todos mis scrollpanes:diseño personalizado JScollPane Java Swing de
Con Java Swing. Estoy usando Netbeans IDE. ¿Cuál es la solución más simple?
Muchas gracias.
Saludos
Usted puede personalizar el aspecto de un componente Swing por establecer una interfaz de usuario personalizada. En el caso de la barra de desplazamiento de un panel de desplazamiento, lo hace
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 sólo en JScrollPane
casos), llame
UIManager.put("ScrollBarUI", "my.package.MyScrollBarUI");
antes de crear los componentes Swing.
En MyScrollBarUI
, se anulan los métodos siguientes:
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.
Gran respuesta muchas gracias –
Asegúrese de anular 'vacío protegido paintTrack (Gráficos g, JComponent c, Rectangle trackBounds) 'y' paintThumb' (misma firma de método) en [BasicScrollBarUI] (http://docs.oracle.com/javase/6/docs/api/javax/swing/plaf/ basic/BasicScrollBarUI.html) o es posible que no vea nada. – Nateowami
¿Sería posible no hardcode 'extends BasicScrollBarUI' sino extender la clase UI de barra de desplazamiento que se usa actualmente? Al igual que 'extends scrollBar.getUI(). GetClass()'? – Bowi
1) de anulación JToolBar
2) la mayor parte de Custom Look and Feel hicieron caso omiso de que
la relación de la barra de herramientas a la barra de desplazamiento es que ... ;-) Además (después de todo es lunes por la mañana): anula los métodos, las clases se extienden (o implementan) – kleopatra
No se olvide que si usted va a utilizar el UIManager para anular todas las barras de desplazamiento como éste
UIManager.put("ScrollBarUI", "my.custom.SimpleScrollBarUI");
entonces su clase SimpleScrollBarUI imprescindible tener el método createUI, es decir:
public class SimpleScrollBarUI extends BasicScrollBarUI {
public static ComponentUI createUI(JComponent c) {
return new SimpleScrollBarUI();
}
//...
}
i no te entendí. un panel de desplazamiento inserta automáticamente una barra de desplazamiento cuando el tamaño del elemento que contiene se ve comprometido. – gprathour