Подтвердить что ты не робот

Создание приятной анимации "LOADING..."

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

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

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

infinite progress

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

screenshot

код:

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);
}

Ответ 3

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