Я разрабатываю небольшое настольное приложение в NetBeans. В моем пользовательском интерфейсе я помещаю JPanel и накладываю на него один JLabel. Содержимое этого JLabel генерируется динамически, поэтому, если контент очень велик, он выходит из экрана. Существует ли способ, которым я могу указать фиксированный размер для JPanel, и, конечно, ScrollBars должен появиться, когда текст превышает Размер экрана.NetBeans: как добавить ScrollBar в JPanel
5
A
ответ
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.
Готово !, Теперь у вас есть свитки