2014-11-11 4 views
3

У меня есть объект JList в JScrollPane, а JScrollPane находится внутри JPanel.Удалить границу с JScrollPane

JList membersList = new JList(); 

JPanel membersPanel = new JPanel(); 
membersPanel.setLayout(new BorderLayout()); 

JScrollPane scrollPane = new JScrollPane(membersList); 

membersPanel.add(scrollPane, BorderLayout.CENTER); 

Я попытался установить границы элементов спискаList, membersPanel и scrollPane равным null. Я также пробовал:

Border emptyBorder = BorderFactory.createEmptyBorder(0, 0, 0, 0); 
membersList.setBorder(emptyBorder); 
membersPanel.setBorder(emptyBorder); 
scrollPane.setBorder(emptyBorder); 

Но почему-то я не могу удалить границу. Что я делаю не так?

+1

Это выглядит хорошо для меня. Какой вид и чувство вы используете? – MadProgrammer

+2

Рассмотрите возможность использования [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer

ответ

1

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

scrollPane.setViewportBorder(null); 
+0

Итак, я прошел через Windows L & F, Nimbus и Metal и 'scrollPane.getViewport(). GetBorder()' возвращает 'null'? – MadProgrammer

+0

На моей работе мы используем Motif L & F (это древний, не рекомендуется). У нас есть эти 'setViewportBorder (null)' вызовы, посыпанные в разных местах. –

Смежные вопросы