Мне интересно узнать, как сделать прокручиваемый текст. Так же, как текст, который можно прокручивать справа налево. Как оживить текст в графическом интерфейсе Java?Анимация/прокрутка текста
ответ
может быть, не ответ на OP, но я не вижу причин, очень просто при помощи орудий Swing Timer
, (может быть с полупрозрачными контейнером) и положить туда JLabel
(обновления к JLabel
может быть от Array
из Chars
в избегает изменения размера контейнера), например
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JWindow;
import javax.swing.Timer;
public class SlideTextSwing {
private JWindow window = new JWindow();
private JLabel label = new JLabel("Slide Text Swing, Slide Text Swing, ..........");
private JPanel windowContents = new JPanel();
public SlideTextSwing() {
windowContents.add(label);
window.add(windowContents);
window.pack();
window.setLocationRelativeTo(null);
final int desiredWidth = window.getWidth();
window.getContentPane().setLayout(null);
window.setSize(0, window.getHeight());
window.setVisible(true);
Timer timer = new Timer(20, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int newWidth = Math.min(window.getWidth() + 1, desiredWidth);
window.setSize(newWidth, window.getHeight());
windowContents.setLocation(newWidth - desiredWidth, 0);
if (newWidth >= desiredWidth) {
((Timer) e.getSource()).stop();
label.setForeground(Color.red);
mainKill();
}
}
});
timer.start();
}
public void mainKill() {
Timer timer = new Timer(500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
timer.start();
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
SlideTextSwing windowTest = new SlideTextSwing();
}
});
}
}
Несколько связанных подходов показаны [здесь] (http://stackoverflow.com/q/3617326/230513). – trashgod
спасибо, что отредактировал мой вопрос. –
спасибо за синтаксис, это помогает мне. но я хочу сделать прокрутку в JLabel с помощью GUI Java. –
- 1. Текст текста текста текста текста выключен
- 2. Сохранять стиль текста при изменении текста текста текста
- 3. Автоматическое преобразование текста текста
- 4. распознавание текста неправильного текста
- 5. Выравнивание текста текста внизу
- 6. Анализ текста из текста
- 7. Выделение текста текста/номера
- 8. Изменение текста форматированного текста
- 9. Выравнивание текста текста TextView
- 10. Настройка текста текста в коде
- 11. Поворот каждого текста текста индивидуально
- 12. Выделение текста текста после прокрутки
- 13. Цвет текста текста в тексте
- 14. Выравнивание текста текста радиостанции html
- 15. Изменить цвет текста существующего текста
- 16. Неверный текст текста текста вертикально
- 17. Цвет текста donut текста Chart.js
- 18. Удаление и изменение текста текста
- 19. Vaadin ComboBox расширение текста текста
- 20. Цвет текста текста TextView Text
- 21. Получение текста из Редактирования текста
- 22. создания текста из NSWindowsCP1252StringEncoding текста
- 23. Кнопка ввода текста для текста
- 24. API текста текстового текста Google
- 25. манипулировать метками текста текста ctree
- 26. Размер текста для текста UITextView
- 27. Цвет текста при изменении текста
- 28. Переход текста текста на Android
- 29. Алгоритм для пересечения текста текста
- 30. Быстрое изменение текста текста текста в соответствии с файлом plist
AFAIK, Java не обязательно предназначен для создания текстовых анимаций. Что вы можете сделать, так это применить «AffineTransforms» к «Label», но я действительно сомневаюсь, что это будет выглядеть хорошо. Возможно, есть несколько библиотек для поддержки такого рода вещей. – posdef
http://www.java2s.com/Code/Java/Threads/Swingandthreadsscrolltext.htm –
Вы хотите переместить текст в JTextField, в JLabel или переместить текстовое поле/метку или перенести текст на панель? В последнем случае: graphics.drawString - это то, что вам нужно. –