2010-12-17 20 views
5

Ich möchte die Seite meines JScrollPane von rechts (Standard) auf der linken Seite ändern. Wie mache ich das?Seite eines jScrollPane ändern & Größe ändern

UND: Ich will die Größe von JScrollBar ändern, da es sich um ein berührungs Display (22") ist, so dass sie leicht verschoben werden können

Vielen Dank

+0

Ich habe versucht zu setPrefferedSize oder setSize des JScrollPane und es ändert nichts ... –

Antwort

6

Nach @camickr Vorschlag sieht für die Platzierung, hier ist ein komplettes Beispiel

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. Verwenden Sie ein.! Panel mit einem Border
  2. die scrollpane zum Mittelpunkt hinzufügen
  3. den vertikalen Bildlauf
in den Westen hinzufügen

Wenn Sie die Breite aller Bildlaufleisten ändern möchten, können Sie den UIManager verwenden. UIManager Defaults

Verwandte Themen