2016-12-13 9 views
0
JScrollPane scrollPane = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); 
scrollPane.setBounds(23, 11, 603, 123); 

contentPane.add(scrollPane); 

JPanel panel = new JPanel(); 
JLabel[] labels=new JLabel[callout.getRedCount()]; //callout.getRedCount() = 8 
panel.setLayout(null); 
int x = 50; 
int y = 50; 
for (int i=0;i<callout.getRedCount();i++){ //callout.getRedCount() = 8 
     labels[i]=new JLabel("Red" + i); 
     labels[i].setBounds(x, y, 32, 32); 
     panel.add(labels[i]); 
     x += 150; 
} 
scrollPane.setViewportView(panel); 

これらのラベルをscrollPaneに埋め込まれたパネルに追加しようとしています。最後の数がパネルのサイズを超えている場合を除いて、ラベルは正しく表示されます。 scrollPaneはスクロールしません。私は.setLayoutをさまざまなレイアウトに試したが、まだ結果はありません。これを行う方法について何か不足していますか?ScrollPaneに埋め込まれたパネルにJLabelsを追加するJava

+0

スクロールペインに適切なパネルの幅が表示されますか? I.水平に動かすことができることを示すスクロールバーですが、それはありませんか? – KyleKW

+0

私は '.HORIZONTAL_SCROLLBAR_​​ALWAYS'を持っているので、どちらの側にも矢印が表示されますが、スクロールバーはありません。スクロールペインから途中で切り取られ、まだスクロールされない場所にラベルを表示させることができます。 – Torewin

答えて

0

これはGridBagLayoutで動作します。あなたは値の周りに変更することができます

public static void main(String args[]){ 

    JFrame contentPane = new JFrame(); 

    JScrollPane scrollPane = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); 
    scrollPane.setBounds(23, 11, 50, 50); 

    contentPane.add(scrollPane); 

    JPanel panel = new JPanel(); 
    JLabel[] labels=new JLabel[8]; //callout.getRedCount() = 8 
    panel.setLayout(new GridBagLayout()); 
    GridBagConstraints gbc = new GridBagConstraints(); 
    gbc.insets = new Insets(0,10,0,0); 
    int x = 50; 
    int y = 50; 
    for (int i=0;i<8;i++){ //callout.getRedCount() = 8 
      labels[i]=new JLabel("Red" + i); 
      gbc.gridx = i; 
      panel.add(labels[i], gbc); 
    } 
    scrollPane.setViewportView(panel); 
    contentPane.setSize(50,50); 
    contentPane.setVisible(true); 

} 

、これは非常に粗いです。お役に立てれば!

+0

Genius!私はscrollPaneの中でお互いの上に3つのパネルが必要なので、GridBagLayoutを研究します。列やテーブルのようなもの。本当にありがとう! – Torewin

+0

問題ありません!ここにはGridBagLayoutのサポートがたくさんあるので、簡単にGoogle検索でGridBagLayoutの問題の解決策を見つけることができます。 – KyleKW

関連する問題