2016-12-23 130 views
-1
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.FlowLayout; 
import javax.swing.*; 
import java.awt.Dimension; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.JScrollPane; 
import javax.swing.border.LineBorder; 

class Test 
{ 
public Test() 
{ 
    JFrame f = new JFrame(); 
    f.setSize(800,800); 
    f.setLayout(new FlowLayout()); 

    JPanel s = new JPanel(); 
    s.setLayout(new BoxLayout(s,BoxLayout.PAGE_AXIS)); 

    JLabel m = new JLabel("D"); 
    JLabel m1 = new JLabel("D1"); 
    JLabel m2 = new JLabel("D1"); 
    JLabel m3 = new JLabel("D1"); 
    JLabel m4 = new JLabel("D1"); 
    JLabel m5 = new JLabel("D1"); 
    JLabel m6 = new JLabel("D1"); 
    JLabel m7 = new JLabel("D1"); 
    JLabel m8 = new JLabel("D1"); 

    s.add(m); 
    s.add(m1); 
    s.add(m2); 
    s.add(m3); 
    s.add(m4); 
    s.add(m5); 
    s.add(m6); 
    s.add(m7); 
    s.add(m8); 

    JScrollPane scroll = new JScrollPane(s); 

    //scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
    scroll.setViewportBorder(new LineBorder(Color.RED)); 

    f.add(scroll); 

    f.setVisible(true); 
} 

public static void main(String args[]) 
{ 
    Test t = new Test(); 
} 
} 

一切正常,但滾動不顯示(JScollPane出現)..有沒有更好的方法來做到這一點?我的意思是 - 在面板中顯示JScrollPane的正確方法......?當加入到scollpane部件的優選尺寸比滾動窗格的尺寸更大滾動條沒有出現在JPanel中

It's showing like this

+0

它適用於我 –

+0

JScrollPane顯示在您張貼的圖像中。你能澄清一下你目前的結果有什麼問題嗎? – ControlAltDel

回答

1

滾動條出現。

JScrollPane scroll = new JScrollPane(s); 
scroll.setPreferredSize(new Dimension(100, 50)); 

除非您設置了首選大小,否則滾動窗格將在您向其中添加元素時展開其高度。

+0

是的!謝謝@richersoon – Hasan