2011-10-01 1 views
5

Я разрабатываю небольшое настольное приложение в NetBeans. В моем пользовательском интерфейсе я помещаю JPanel и накладываю на него один JLabel. Содержимое этого JLabel генерируется динамически, поэтому, если контент очень велик, он выходит из экрана. Существует ли способ, которым я могу указать фиксированный размер для JPanel, и, конечно, ScrollBars должен появиться, когда текст превышает Размер экрана.NetBeans: как добавить ScrollBar в JPanel

ответ

6

Используйте JScrollPane, чтобы содержать свой большой JPanel.

2

so in case when the contents are very large it goes out of screen, может быть, вы должны искать TextComponents в JTextArea or JEditorPane, учебник содержит пример, включая основное использование для JScrollPane

7

Вы должны будете просто передать ссылку на компонент в JScrollPane Конструктора. Будет хорошо работать. Вы можете определенно использовать JScrollPane Ниже приведен пример sudo для JScrollPane для JPanel из моего прошлого проекта. Надеюсь, это будет полезно для вас.

import javax.swing.*; 
import java.awt.*; 

public class Frame01 
{ 
    public static void main(String[] args){ 
     SwingUtilities.invokeLater (new Runnable() 
     { 
      public void run() 
      { 
       JFrame frame = new JFrame("panel demo"); 
       frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE); 

       JPanel panel = new JPanel(); 
       Container c = frame.getContentPane(); 
       panel.setSize(100,100); 
       panel.setLayout(new GridLayout(1000,1)); 
       for(int i = 0; i<1000;i++) 
       panel.add(new JLabel("JLabel "+i)); 

       JScrollPane jsp = new JScrollPane(panel); 
       c.add(jsp); 
       frame.setSize(100,100); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 
1

В навигаторе нажмите на JPanel правой кнопкой мыши -> Enclose In -> Scroll Pane.

Готово !, Теперь у вас есть свитки