Я пытаюсь сделать GUI для моего JMeter плагин с помощью this APIпакет обновления для JMeter Gui
Я хочу, чтобы мой AbstractSamplerGui
прокручивать при создании слишком много JComponent
объектов. Если я создаю панель с простыми объектами У меня нет вопроса .. панель будет прокручиваться в порядке:
import org.apache.jmeter.gui.util.VerticalPanel;
import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
...
public final class MyGui extends AbstractSamplerGui {
public MyGui() {
final VerticalPanel panel = new VerticalPanel();
for (int i = 0; i < 100; i++) {
panel.add(new JLabel("TEST"));
panel.add(new JTextArea());
}
add(panel);
}
...
Однако, когда я дать JTextArea
объекты не-по умолчанию размер new JTextArea(30, 30))
, полоса прокрутки не замечает, что страница больше. Это означает, что половина предметов выходит из панели (недоступна).
Я понимаю, что вы должны позвонить pack
на JFrame
после того, как вы добавите элементы, но я не знаю, как это сделать. AbstractSamplerGui
распространяется JPanel
, который не имеет метода pack
.
Я пробовал найти JFrame
с использованием JMeter API, но мне не повезло. Я также не думаю, что могу найти корневой фрейм, используя SwingUtilities::getRoot
, потому что эта работа выполняется внутри конструктора для JPanel
.
Любая помощь будет оценена!
'Почему кто-нибудь использует качели?' - потому что он прост в использовании и настройке. Отсутствие знаний о Свинге - не повод для размышлений об этом. Проблема заключается в вашем пользовательском коде, а не в Swing. Кто знает, почему ваш код не работает. «VerticalPanel» - это нестандартный класс, и я понятия не имею, что он делает. Вероятно, проблема с макетом. – camickr
@camickr это был более увлекательный комментарий: p Также VerticalPanel является частью JMeter API. Я добавлю импорт – flakes
@camickr Я просто заменил 'панель' на' JPanel panel = new JPanel(); panel.setLayout (новый BoxLayout (панель, BoxLayout.Y_AXIS)); и я вижу ту же проблему. – flakes