Как добавить место на jpanel, чтобы jscrollpane не сижу на вершине моих компонентов?

StackOverflow https://stackoverflow.com/questions/6059155

Вопрос

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

Пример код, который я пробовал:

JPanel eButton = new JPanel(new BorderLayout());
JPanel spaceFiller = new JPanel();
spaceFiller.setSize(30, 10);
eButton.add(editButton, BorderLayout.EAST);
eButton.add(spaceFiller, BorderLayout.WEST);
.

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

Спасибо

Это было полезно?

Решение

To ensure that the size of the JPanel is respected you should use setPreferredSize() instead of setSize().

Другие советы

In your sample code, didn't you reverse EAST and WEST? Shouldn't it be like:

eButton.add(editButton, BorderLayout.WEST); 
eButton.add(spaceFiller, BorderLayout.EAST); 

That would make more sense, sicne the scrollbar will appear on the right side (EAST).

Please note that the solution you suggest, even though it may work (after exchanging EAST and WEST) looks more like a hack than a real solution.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top