Изменение шрифта строки в потоке - Java
Формулировка задачи:
Необходимо организовать движение строки, используя потоки. Строка должна доходить до границ окна и менять свой шрифт. Есть такой код, но здесь меняется не шрифт, а регистр символов.
Подскажите, пожалуйста, что нужно изменить, чтобы менялся не регистр, а шрифт???
Листинг программы
- import javax.swing.JApplet;
- import javax.swing.JPanel;
- import javax.swing.Timer;
- import javax.swing.SwingUtilities;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.Graphics;
- import java.awt.Dimension;
- import java.util.Random;
- public class MovingString extends JApplet {
- public static final Dimension DIMENSION = new Dimension(600, 450);
- private static final int DX=10;
- private static final int DY = 10;
- private static final int SLEEP = 300;
- private String str = "Hello World!";
- private Timer tmr;
- private int xPos = DX;
- private int yPos = DY;
- public void init() {
- try {
- SwingUtilities.invokeAndWait(new Runnable() {
- public void run() {
- setSize(DIMENSION);
- tmr = new Timer(SLEEP, new ActionListener() {
- public void actionPerformed(ActionEvent ae) {
- if ( ( yPos ) < DIMENSION.height ) {
- xPos = DX;
- yPos += DY;
- }
- else {
- tmr.stop();
- StringBuilder sb = new StringBuilder();
- Random rnd = new Random();
- for ( char c : str.toCharArray() )
- sb.append( ( rnd.nextBoolean() ) ? Character.toUpperCase(c) : Character.toLowerCase(c) );
- str = sb.toString();
- }
- repaint();
- }
- });
- getContentPane().add(new JPanel() {
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.drawString(str, xPos, yPos);
- }
- });
- }
- });
- }
- catch ( Exception e ) {
- System.err.println("Das Scheise!");
- }
- }
- public void start() {
- tmr.start();
- }
- public void stop() {
- tmr.stop();
- }
- }
Решение задачи: «Изменение шрифта строки в потоке»
textual
Листинг программы
- int[] styles = { Font.PLAIN, Font.ITALIC, Font.BOLD};
- String[] _styles = {"Font.PLAIN", "Font.ITALIC", "Font.BOLD"};
- Font font;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д