Создание приятной анимации "LOADING..."
Возможный дубликат:
Довольно альтернатива JProgressBar?
У меня есть процесс, который занимает несколько секунд, и я хочу создать анимацию в Java Swing, пока она не завершит загрузку.
Я бы хотел избежать использования типичного ProgressBar и использовать хороший современный бесконечный прогресс, подобный этому
![infinite progress]()
Я знаю похожие вопросы, но это строго связано с Java Swing.
Есть ли библиотека или пример для этого?
Ответы
Ответ 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.