2010-12-17 14 views

cevap

6

Bkz i setPrefferedSize veya JScrollPane ait setSize çalıştı

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. kullanın.! bir BorderLayout
  2. panel
  3. West
dikey kaydırma çubuğunu eklemek Merkezi'ne scrollpane eklemek

Tüm kaydırma çubuklarının genişliğini değiştirmek isterseniz, UIManager'ı kullanmayı deneyebilirsiniz. Burada, yerleşim için @camickr önerisini uygulayarak UIManager Defaults

İlgili konular