Intereting Posts
Как установить максимальную высоту с содержимым обертки в android? Что такое запрос разрешения свойств в конфигурации Springholder placeholder с несколькими местоположениями? Реализация общего дерева в Java Java – контрактные тесты Поиск двух основных пиков и долин между пиками 2D-массива или гистограммы HTTP 1.1 Персистентные соединения с использованием сокетов в Java Hibernate, отображающий составной ключ с нулевыми значениями Это лучший контейнер верхнего уровня для этого дизайна, JFrame с Jpanels или JDesktop с JInternalFrames Java: отслеживание сеанса входа пользователя – сеанс EJBs против HTTPSession Как исключить поле из сериализации classов во время выполнения? error: невозможно присвоить значение конечной переменной Закрытие пробела в гистограмме JFreeChart Как создать переменную, которая может быть установлена ​​только один раз, но не является окончательной в Java Как распечатать весь JPanel с нижним колонтитулом на каждой странице в java swing Java: Сортировка немодифицируемого списка

Создание приятной анимации «LOADING …»

Возможный дубликат:
Довольно альтернатива JProgressBar?

У меня есть процесс, который занимает несколько секунд, и я хочу создать анимацию в Java Swing, пока она не завершит загрузку.

Я бы хотел избежать использования типичного ProgressBar и использовать хороший современный бесконечный прогресс, как этот

бесконечный прогресс

Я знаю подобные вопросы, но это строго связано с Java Swing. Есть ли для этого библиотека или пример?

Я бы рекомендовал использовать стеклопакет для этого вида деятельности. Шаги include:

  • Создайте JComponent с BorderLayout . Добавьте JLabel в CENTER который включает анимированный значок .gif по вашему выбору.
  • (Необязательно) Переопределите метод paint(Graphics) чтобы ваш графический интерфейс выглядел серым (или отсутствовал). Для этого вам нужно нарисовать заполненный прямоугольник размером компонента, заполнив прямоугольник полупрозрачным цветом.
  • Добавьте компонент как стеклянную рамку корневого фрейма приложения.

Просто используйте ImageIcon для этой задачи, он автоматически оживляет gif . Следующий код создал этот снимок экрана ( ajax-loader.gif был загружен с http://www.ajaxload.info/ ):

Скриншот

Код:

 public static void main(String[] args) throws Exception { JFrame frame = new JFrame("Test"); ImageIcon loading = new ImageIcon("ajax-loader.gif"); frame.add(new JLabel("loading... ", loading, JLabel.CENTER)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setVisible(true); } 

Конечно, это возможно. Вы можете использовать инструмент AjaxLoad для создания анимированного изображения, которое можно использовать в любом контейнере image / html.