#java #swing #jscrollpane
#java #качать #jscrollpane
Вопрос:
Я использую следующий код для отображения вертикальной полосы JTable
. Несмотря на это, она активна. Я не могу прокрутить вниз:
scrollPane = new javax.swing.JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
table = new javax.swing.JTable(dtm);
table.setName("table"); // NOI18N
sorter = new TableRowSorter<DefaultTableModel>(dtm);
table.setRowSorter(sorter);
table.setPreferredSize(new java.awt.Dimension(300, 190));
scrollPane.setViewportView(table);
Добавлено изображение:
Комментарии:
1. попробуйте изменить
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
наJScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED
2. Никаких изменений в поведении вообще
3. Добавлено изображение @ejay_francisco
4. Избавьтесь от вызова setPreferredSize
5. @MadProgrammer Люблю тебя, братан! Ты совсем не злишься! Пожалуйста, сделайте это ответом, поэтому я принимаю
Ответ №1:
Не используйте setPreferredSize
, JViewport
используется для получения информации, чтобы определить, сколько места требуется, которое JScrollPane
затем используется, чтобы решить, нужно ли отображать полосы прокрутки или нет
Если вам действительно абсолютно необходимо изменить видимый размер таблицы, попробуйте использовать setPreferredScrollableViewportSize