2017-05-02 1 views
0

JScrollPaneのItemを動的に作成しようとしています。Java JScrollPaneの塗りつぶしアイテムを防ぐ方法

しかし、JPanel(アイテムを表すため)を追加すると、そのパネルはすべてのスクロール領域を塗りつぶします。

2つのJPanelアイテムを追加すると、すべてのスクロール領域が分割されて塗りつぶされます。

enter image description here

「グリーン」エリア私はエリアをスクロールするために1つの項目を追加するときにこの写真があるアイテムのエリアを意味します。

enter image description here

'シアン' 色別のアイテムを意味します。この写真私はエリア

をスクロールするために2番目の項目を追加したとき、私は、各項目の高さを修正する(そして幅を埋める)欲しいれる

私はその項目がスクロールペインエリアへの追加、および左側の領域アイテムを追加空きスペースのまま。

どうすればいいですか?

以下は私のコードです。

ありがとうございました。

public class JPanelINScrollPanel extends JFrame{ 

public JPanelINScrollPanel(){ 

    this.setSize(700,700); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 


    JPanel basePanel = new JPanel(); 

    JScrollPane scrollPanel = new JScrollPane(); 

    JPanel listPanel = new JPanel(); 

    JPanel itemPanel1 = new JPanel(); 
    JPanel itemPanel2 = new JPanel(); 
    JPanel itemPanel3 = new JPanel(); 

    basePanel.setBackground(Color.BLACK); 
    getContentPane().add(basePanel); 
    basePanel.setLayout(new BorderLayout(0, 0)); 


    scrollPanel.setBackground(Color.BLUE); 
    basePanel.add(scrollPanel); 

    listPanel.setSize(500,500); 
    listPanel.setBackground(Color.red); 
    listPanel.setLayout(new BoxLayout(listPanel, BoxLayout.PAGE_AXIS)); 


    scrollPanel.add(listPanel); 
    scrollPanel.setViewportView(listPanel); 

    //itemPanel1.setSize(50,50); 
    itemPanel1.setPreferredSize(new Dimension(50, 50)); 
    itemPanel1.setBackground(Color.GREEN); 
    listPanel.add(itemPanel1); 




} 

public static void main(String[] args){ 

    JPanelINScrollPanel test = new JPanelINScrollPanel(); 

    test.setVisible(true); 
} 

} 

答えて

0

これは、アイテムパネルに

だけsetMaximumSize簡単です。

解決済みです。

+0

ありがとうございました。それは役に立ちます。 –

関連する問題