2010-12-17 15 views
5

Quiero cambiar el lado de mi JScrollPane desde la derecha (predeterminado) al lado izquierdo. ¿Cómo hago esto?Cambiar el lado de un jScrollPane y cambiar el tamaño

Y: que quieren cambiar el tamaño de JScrollBar porque es un toque-pantalla (22") de modo que se puede desplazar fácilmente

Muchas gracias

+0

i trató de setPrefferedSize o setSize del JScrollPane y no cambia nada ... –

Respuesta

6

Siguiendo la sugerencia @camickr para la colocación, aquí es un ejemplo completo

import java.awt.*; 
import javax.swing.*; 
public class Test { 
    public static void main(String[] args) { 
     JFrame jf = new JFrame("Scorllbar test"); 
     JPanel jp = new JPanel() {{ add(new JComponent() { 
       { setPreferredSize(new Dimension(450, 450)); } 
       public void paintComponent(Graphics g) { 
        g.drawLine(0, 0, getWidth(), getHeight()); 
        g.drawLine(getWidth(), 0, 0, getHeight()); 
       }});}}; 

     JScrollPane sp = new JScrollPane(jp, 
       JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 
       JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

     // Get the scroll-bar and make it a bit wider. 
     JScrollBar sb = sp.getVerticalScrollBar(); 
     sb.setPreferredSize(new Dimension(50, 0)); 

     // Put it to the left. 
     sp.remove(sb); 
     JPanel tmp = new JPanel(new BorderLayout()); 
     tmp.add(sp, BorderLayout.CENTER); 
     tmp.add(sb, BorderLayout.WEST); 

     jf.add(tmp); 
     jf.setSize(300, 300); 
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     jf.setVisible(true); 
    } 
} 

enter image description here

0
  1. uso a.! panel con un BorderLayout
  2. añadir el panel de desplazamiento al Centro
  3. añadir la barra de desplazamiento vertical para Occidente

Si desea cambiar el ancho de todas las barras de desplazamiento, puede intentar usar el UIManager. Ver UIManager Defaults

Cuestiones relacionadas