Изменение шрифта строки в потоке - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д