Самостоятельное управление компонентами на панели - Java

Узнай цену своей работы

Формулировка задачи:

Всем привет. Задача такая: в одной из частей JSplitPane находится JScrollPane, где должны отображаться различные элементы, в зависимости от действий пользователя. Проще говоря, при нажатии одной кнопки показывается одна форма(т.е. панель(panel) с компонентами), при нажатии другой - другая форма(заново создаю панель с таким же именем(panel), но другими компонентами и добавляю в JScrollPane). Содержание панели panel в каждом случае может быть различным, в зависимости от неважно каких причин, т.е. элементы могут либо добавляться, либо удаляться(содержание этой панели не статично, а динамично для каждого случая, если так можно выразиться). Наличие JScrollPane необходимо для того, чтобы в случае, когда все элементы на panel не видны на JSplitPane, их можно было просмотреть при помощи полос прокрутки JScrollPane. Проблема в том, что я не знаю как организовать расположение элементов на panel. Если я устанавливаю панели panel менеджер FlowLayout, то все элементы размещаются в одну строку, что неприемлемо, + не могу управлять размерами элементов(текстовых полей, например). Размещаются они в одну строку, наверное, потому, что panel находится на JScrollPane, ДА? При других менеджерах тоже не могу управлять размерами(это в принципе невозможно или я просто что-то не так делаю?) Посоветуйте пожаста, как реализовать это грамотно и просто!!!!!! Заранее спасибо.

Решение задачи: «Самостоятельное управление компонентами на панели»

textual
Листинг программы
public class Box1 extends JApplet {
  public void init() {
    Box bv = Box.createVerticalBox();
    for(int i = 0; i < 5; i++)
      bv.add(new JButton('' + i));
    Box bh = Box.createHorizontalBox();
    for(int i = 0; i < 5; i++)
      bh.add(new JButton('' + i));
    Container cp = getContentPane();
    cp.add(BorderLayout.EAST, bv);
    cp.add(BorderLayout.SOUTH, bh);
  }
  public static void main(String[] args) {
    Console.run(new Box1(), 450, 200);
  }
}

ИИ поможет Вам:


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

Оцени полезность:

10   голосов , оценка 4.3 из 5