Gridens - информационные технологии

как разделить экран на 3 части в SWT?

Я новичок в SWT и java, мне действительно нужна помощь.

Мне нужно создать подключаемый модуль Eclipse, который должен открывать диалоговое окно при нажатии кнопки.

Диалог должен выглядеть так

       label 1   textBox1                label 2 textBox 2
       label 3  textBox13                label 4 textBox 4


       could be alot of them -> should be with scroller


       ---------------------------------------------------


           output ( should be textbox)


     -----------------------------------------------------


           messages ( should be textbox)

Это может быть много меток и текстовых полей. Как я могу добавить их в элемент управления, который может содержать их много? (должно быть со скроллером)

Как я могу разделить экран на 3 части в SWT или fjace? и как я могу контролировать размер, например, чтобы первая часть (текстовое поле метки) составляла 60%, а вывод - 30%, а сообщения - 10%?

Может быть, вы могли бы помочь мне с примером для этого?

02.01.2014

Ответы:


1

Это требует слишком много кода — вы должны показать нам, что вы пробовали!

Некоторые подсказки:

Используйте org.eclipse.jface.dialog.Dialog для диалога, вы также можете использовать org.eclipse.jface.dialog.TitleAreaDialog, у которого есть область для сообщений об ошибках.

Чтобы разделить область в процентах, используйте org.eclipse.swt.custom.SashForm.

Чтобы получить несколько элементов в строке, используйте org.eclipse.swt.layout.GridLayout, указав количество столбцов.

Чтобы получить прокручиваемую область, используйте org.eclipse.swt.custom.ScrolledComposite

Итак, что-то вроде:

@Override
protected Control createDialogArea(final Composite parent)
{
  Composite body = (Composite)super.createDialogArea(parent);

  // Vertical sash

  SashForm sashForm = new SashForm(body, SWT.VERTICAL);

  sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

  // First part, scrollable

  ScrolledComposite scrolledComp = new ScrolledComposite(sashForm, SWT.V_SCROLL);

  Composite comp1 = new Composite(scrolledComp, SWT.NONE);

  comp1.setLayout(new GridLayout());

  // TODO: add controls to comp1

  // Set scroll size - may need to adjust this

  Point size = comp1.computeSize(SWT.DEFAULT, SWT.DEFAULT);
  scrolledComp.setMinHeight(size.y);
  scrolledComp.setMinWidth(size.x);
  scrolledComp.setExpandVertical(true);
  scrolledComp.setExpandHorizontal(true);

  scrolledComp.setContent(comp1);

  // Second part

  Composite comp2 = new Composite(sashForm, SWT.NONE);

  comp2.setLayout(new GridLayout());

  // TODO: add controls to comp2

  // Third part

  Composite comp3 = new Composite(sashForm, SWT.NONE);

  comp3.setLayout(new GridLayout());

  // TODO: add controls to comp3

  // Set the sash weighting (must be after controls are created)

  sashForm.setWeights(new int [] {60, 30, 10});

  return body;
}
02.01.2014
  • Я имею в виду разделение на 3 части и добавление нескольких элементов в строку с использованием прокрутки. 02.01.2014
  • Я новичок в SWT, поэтому мне нужен небольшой пример, чтобы продолжить. 02.01.2014
  • Новые материалы

    Журналы Py № 2: Если, Элиф, Иначе?
    У меня такое чувство, будто я давно ничего не писал, хотя прошло два дня с тех пор, как я опубликовал свою первую историю. В любом случае, сегодня произошло много всего, так что приступим...

    Работа в Реакции
    Я изучаю React в Bloc прямо сейчас. До сих пор я изо всех сил пытался понять темы. Тем не менее, я только что закончил проблему, над которой некоторое время размышлял, и хочу записать свой..

    Нужен ли банкам искусственный интеллект, чтобы кардинально изменить свою работу?
    Почему необходимо использовать искусственный интеллект в банковской сфере? Существенное использование многочисленных инноваций ИИ, таких как машинное обучение , глубокое обучение и..

    Какую последнюю статью вы считаете стоящей поделиться?
    Я люблю читать качественные статьи. Не стесняйтесь делиться своей работой.

    Преобразование CoreML, позволяющее использовать Fast-Neural-Style-Transfer на iOS и MacOS.
    Как использовать Fast-Neural-Style-Transfer на iOS Преобразованная модель: GitHub — john-rocky/CoreML-Models: Преобразованный зоопарк моделей CoreML...

    ИИ в правоохранительных органах: мощный инструмент с двойной природой
    Искусственный интеллект (ИИ) революционизирует правоохранительную деятельность, предлагая инновационные тактики расследования, повышая достоверность доказательств и оптимизируя процессы. Тем..

    Autoencoder Average Distance  — классический способ, используемый внутри Microsoft для выявления сходства…
    Среднее расстояние автоэнкодера (AAD) использует более простой подход для определения расстояния между двумя наборами данных. Нейронный автоэнкодер может преобразовать любой элемент данных в..