Анимированная таблица строк - PullRequest
2 голосов
/ 21 ноября 2011

Я пытаюсь написать приложение для ведения счетов на Java, которое позволяет серверному приложению отправлять результаты в клиентские приложения.Затем клиенты отобразят список команд, идентификаторы команд и их оценки, отсортированные по счетам.Конечно, я мог бы просто использовать Swing JTable, чтобы отобразить все, но я хочу добиться уникального эффекта: я хочу, чтобы текст динамически переупорядочивался каждый раз, когда команда поднимается в списке.То есть он хочет анимировать текст по всему экрану.Мне также нужно будет иметь возможность обновлять содержимое ярлыков после добавления.Каков наилучший способ достичь этого?Есть ли какой-либо компонент, который позволяет вам добавлять другие компоненты и свободно размещать / перемещать их?

Ответы [ 3 ]

3 голосов
/ 21 ноября 2011

JTable - это JComponent, поэтому вы можете установить нужный LayoutManager и добавить JLabels над JTable. Затем переместите / измените их порядок для достижения желаемого эффекта. См. Также SwingWorker.

2 голосов
/ 21 ноября 2011

В качестве альтернативы макету null рассмотрите возможность работы макета для с использованием

  • одного из обсуждаемых эффектов выделения здесь или
  • перетасовывающих меток в подходящем макете, показаны здесь и здесь .
2 голосов
/ 21 ноября 2011

Вы можете использовать JTable и изменять содержимое строк по мере продвижения команд. Или вы можете организовать серию меток и изменить текст в любое время. Чтобы изменить значение, отображаемое для JLabel, вы просто используете JLabel.setText («новое значение»); способ.


Я никогда не делал этого, но я думаю, что вам нужно использовать панель с «нулевым» менеджером макета. Это означает, что вы несете ответственность за абсолютное позиционирование ваших элементов

http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

Для обновления макета графического интерфейса вам понадобится какой-нибудь SwingWorker или Timer. Убедитесь, что вы действительно вносите изменения в GUI в EventThread, что вы можете сделать, используя SwingUtilities.invokeLater ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...