1

JPanelを拡張するクラスがあります。以下のコード:

public class Test extends JPanel implements Testnterface {
    private JScrollPane listScroller;

    DefaultListModel model;
    private JList requestList;    
    public Test() {

        String title = "Stackoverflow Question";
        setBorder(BorderFactory.createTitledBorder(title));
        model = new DefaultListModel();
     requestList = new JList(); // create a list
        listScroller = new JScrollPane(requestList); // create a scrollbar to the list
        listScroller.setPreferredSize(new Dimension(250, 80));

        setLayout(null);
        add(listScroller); // even though I add the scrollPane, nothing is displayed   
    }
 }

コードを更新しました。JScrollPaneを追加しても、JPanelに表示されないようです。誰かアイデアがありますか?

4

1 に答える 1

3

同じ問題が発生し、スクロールペインをJPanelでラップすることで解決しました。

final JScrollPane jScrollPane = new JScrollPane(list,
     JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
     JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

final JPanel panel = new JPanel(new BorderLayout(BORDER_SIZE, BORDER_SIZE));
panel.setBorder(BorderFactory.createEmptyBorder(BORDER_SIZE, BORDER_SIZE, 
      BORDER_SIZE, BORDER_SIZE));

panel.add(jScrollPane);
于 2012-04-12T09:37:04.683 に答える