Заголовок JTable содержит изображение, а поверх этого изображения я хочу разместить 3 кнопки в одном заголовке - PullRequest
1 голос
/ 30 сентября 2011

Заголовок JTable содержит изображение, а поверх этого изображения я хочу разместить 3 кнопки в одном заголовке.Мое требование состоит в том, чтобы создать таблицу «Список воспроизведения», в которую пользователь может добавлять свои любимые песни.

Поэтому в заголовке я хочу добавить заголовок «Список воспроизведения» и кнопку «+» для вставки новых списков воспроизведения иКнопки «Экспорт» и «Импорт».

Как мне это сделать?Заранее спасибо.

1 Ответ

3 голосов
/ 30 сентября 2011

Я сомневаюсь (1) , этот вариант использования фактически требует добавления дополнительных компонентов в заголовок JTable. НАПРИМЕР. Возьмите пользовательский интерфейс DukeBox.

DukeBox

Мы видим список воспроизведения слева (a JTable) с текстовым полем Filter и флажком Random над ним, а также кнопками Enqueue & History ниже.

Это было создано с вложенным макетом. «Внешний макет» - это BorderLayout, эта панель содержит таблицу в CENTER и вложенные панели в NORTH & SOUTH. Панель NORTH имеет еще один BorderLayout, а SOUTH использует GridLayout.

Если использование вложенного макета не дает вам каких-либо идей, я предлагаю вам опубликовать чертеж или более качественный ASCII-интерфейс пользовательского интерфейса, так как он должен отображаться в наименьшем размере, а также представление его при изменении размера. (где назначается дополнительная ширина / высота?).

1) У меня возникает такое подозрение каждый раз, когда я слышу слова об эффекте "Не было бы замечательно, если бы у нас был такой компонент ...?" . Конечно, есть некоторые классические контрпримеры, в которых стандартный набор инструментов виджета, кажется, отсутствует (например, средство выбора даты или список переключателей), но это общие компоненты, которым может быть присвоено имя. Если тот, кто спрашивает, не может добавить «броское имя» в пользовательский компонент, есть большая вероятность, что он слишком (или не совсем) задумался над этим вопросом.

...