Как использовать Scroll на JPanel?(Swing) - PullRequest
3 голосов
/ 23 сентября 2011

У меня действительно нет проблем при работе с JScrollPane с JTextArea ... Но здесь ... У меня есть JPanel. И я хотел использовать Scroll на нем.

Взгляните на мою JPanel здесь Предварительный просмотр изображений . Интересно, как это сделать в netbeans. Я думаю, что я должен сделать немного индивидуального кодирования. Итак, я попытался сделать так;

1) Щелкните правой кнопкой мыши на jPanel2, Настройте код. 2) Используя этот модифицированный код;

Код инициализации:

jPanel2 = new javax.swing.JPanel();
scrb = new javax.swing.JScrollPane(jPanel2);
// Code of sub-components - not shown here

// Layout setup code - not shown here
scrb.setPreferredSize(jPanel2.getPreferredSize());
jPanel1.add(jPanel2, "card2");

Код объявления переменной:

private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane scrb;

Затем снова запустите мой проект .... но ... вздох Свиток не появился в запущенном приложении.

Я что-то здесь забываю?

Я пытался манипулировать размером jPanel2, но, следовательно, не работает .... Свиток не появился.

Ответы [ 4 ]

6 голосов
/ 23 сентября 2011

Проблема в этой строке:

jPanel1.add(jPanel2, "card2");

Вместо этого напишите:

jPanel1.add(scrb, "card2");

Что вы делаете, это добавляете jPnael2 к блоку прокрутки, но затем вместо того, чтобы добавить эту панель прокрутки к jPanel1, вы добавляете jPanel2 к блоку jPanel1, чтобы scrollPane даже не появлялся.

3 голосов
/ 23 сентября 2011

Попробуйте добавить scrb к jpanel1.

Вот хороший учебник по панелям прокрутки;

http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html

0 голосов
/ 31 января 2017

Если вы используете IDE NetBeans, лучше использовать дизайнер графического интерфейса для создания панели прокрутки.Для реализации панели прокрутки используйте следующие шаги:

    1. In Netbeans GUI editor, select all panels which requires scroll pane using CTRL+left click
    2. Right click on the highlighted panels, select the option 'Enclose in' -> Scroll Pane. This will add a scroll pane for the selected panels.
    3. If there are other elements than Panel(say JTree), select all the elements ->Enclose in ->Panel. Then enlose the new parent panel to scroll pane
    4. Make sure that 'Auto Resizing' is turned on for the selected parent panel(Right click on panel -> Auto resizing -> Tick both Horizontal and vertical)
0 голосов
/ 23 сентября 2011

В дополнение к другим предложениям по добавлению панели прокрутки на панель, я не уверен, будет ли она работать, из-за следующей строки кода:

scrb.setPreferredSize(jPanel2.getPreferredSize()); 

Полосы прокрутки появляются только при предпочтительном размерекомпонента, добавленного в область прокрутки, больше, чем размер области прокрутки.Поэтому, если ваш менеджер компоновки соблюдает предпочтительный размер компонентов, это условие никогда не будет выполнено.

...