Любой другой способ добавить полосу прокрутки в JPanel, кроме JscrollPane - PullRequest
0 голосов
/ 19 марта 2012

Я разработал настольное приложение.Теперь в этом приложении я хочу добавить панель с полосой прокрутки.Я пытаюсь использовать JScrollPane, но он не работает.

JPanel paraJPanel = new JPanel();
JScrollPane SP_para_list = new JScrollPane(paraJPanel);
add(SP_para_list).setBounds(10,30,250,350); 

Таким образом я добавляю полосы прокрутки на панель.Но он показывает только пустую панель с границами.На панели не отображаются компоненты.Хотя я добавил в него несколько ярлыков.Это правильно?Есть ли другой способ добавить полосу прокрутки на панель.

Заранее спасибо

1 Ответ

3 голосов
/ 19 марта 2012

Вам необходимо установить PreferredSize для панели, чтобы полоса прокрутки отображалась, как показано ниже.

даже если вы не установили макет, на панели уже есть набор макетов по умолчанию.

public static void main(String[] args)
{
    JFrame frame = new JFrame();
    JPanel panel = new JPanel()
    {
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(800, 1000);
        }
    };
    panel.add(new JLabel("Test1"));
    panel.add(new JLabel("Test2"));
    frame.getContentPane().add(new JScrollPane(panel), BorderLayout.CENTER);
    frame.setSize(600, 800);
    frame.setVisible(true);
}
...