2012-05-05 3 views
0

私のJListは、行の限られた数を示しているが、私たlistDataベクトルが70以上の項目があり、限られた行数を示しています - >その後、 - > mylist.setListData(theVector);JListのは、私は1つのリスト項目のためのJPanelを使用して、ベクトルに追加</p> <p>..

visibleRowCountのは、100または8に設定することができ

、重要ではありません...

編集:私は私のレイアウト設計者

EDIT2でそれをドラッグしたので、私は、JScrollPaneの中に私のJListを持っています:一部のコード..

private void initSubjectList() { 
    try { 
     Vector listData = new Vector(); 
     Vector<Subject> subjects = Subject.loadFromDB(); 
     for (Subject actSubject : subjects) { 
      ListPanel listPanel = new ListPanel(); 
      listPanel.setSubject(actSubject); 
      JLabel textLabel = new JLabel(); 
      // ... Some properties of my label... 
      listPanel.setLayout(new BorderLayout()); 
      listPanel.add(textLabel, BorderLayout.WEST); 

      listData.add(listPanel); 
     } 

     this.list_subjects.setListData(listData); 
     this.list_subjects.setSelectedIndex(0); 
     this.list_subjects.updateUI(); 
     initGradeList(grades, 0); 
    } catch (Exception ex) { 
     _parent.showError(ErrorPanel.TYPE_OKAY, ErrorPanel.TEXT_SQLEXCEPTION); 
    } 
+0

ScrollPaneにJListを含めましたか? – Bartvbl

+0

ええ、私はスクロールペーンで私のリストを持っています –

+0

おそらく問題を示すのに十分であるように単純化されたいくつかのコードを投稿できますか?あなたが実際にやっていることを見て間違っていることを言うのは非常に難しいです。 – Bartvbl

答えて

1

あなたはちょうどそれがサイズを変更できるようにレイアウトにはmyListを追加されていない場合、私は疑問に思うので、それは小さすぎます。または、表示しないことで正確にはどういう意味ですか? たとえば、BorderLayoutの中央に追加すると、少なくともウィンドウのサイズを変更しても機能しますか?

+0

また、サイズを変更せずにスクロールできるようにしたい場合は、@Guillaumeあなたの答えは –

3

JScrollPaneの中であなたのJListを入れて:


はここで完全な作業例です:

import java.util.Vector; 

import javax.swing.JFrame; 
import javax.swing.JList; 
import javax.swing.JScrollPane; 
import javax.swing.SwingUtilities; 

public class Test2 { 
    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       initUI(); 
      } 
     }); 
    } 

    protected static void initUI() { 
     JFrame frame = new JFrame("test"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Vector<String> data = new Vector<String>(); 
     for (int i = 1; i < 100; i++) { 
      data.add("Entry " + i); 
     } 
     JList list = new JList(data); 
     list.setVisibleRowCount(8); 
     JScrollPane scrollPane = new JScrollPane(list); 
     frame.add(scrollPane); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

look @ my edit - 私はそれをjscrollpaneに入れました –

+2

@ Christian'fuzi'Orglerは私たちにコードを表示せずに、私はあなたにそれがどのように動作するのかを示すことができます。間違ったことをしているに違いないが、あなたの問題を再現するコードを見なければ、それを推測することはできない。 SSCCEを投稿するhttp://sscce.org –

+0

@ Christian'fuzi'Orgler投稿したコードには、あなたが言及したスクロールペインが表示されていないことに注意してください。 – Robin

0

あなたのJListの高さを増やしてみてください

+0

でしょう。 – JorgeHortelano

関連する問題

 関連する問題