Hi,
Ich versuche grade einen Live Ticker in Java zu schreiben. Ich habe aber einfach keine gute Idee, wie ich es schaffe, dass der Text wenn er links "aus dem Bild rausläuft" auf der rechten Seite direkt wieder "einläuft". Also am besten so, dass keine Lücken entstehen. Mein Code bist jetzt (der Text läuft einfach einmal von rechts nach links durch):
Wenn ich ja irgendwie die Position des gezeichneten Strings bestimmen könnte, würde ich schon klar kommen, aber hab einfach keine Idee und hab auch noch nicht viel mit Graphics gemacht.
Danke schonmal für die Hilfe
Grüße,
sMau
Ich versuche grade einen Live Ticker in Java zu schreiben. Ich habe aber einfach keine gute Idee, wie ich es schaffe, dass der Text wenn er links "aus dem Bild rausläuft" auf der rechten Seite direkt wieder "einläuft". Also am besten so, dass keine Lücken entstehen. Mein Code bist jetzt (der Text läuft einfach einmal von rechts nach links durch):
Java:
public class PanelTicker extends JPanel {
public PanelTicker() {
setFont(new Font("Arial", Font.BOLD, 32));
setBorder(null);
setDoubleBuffered(true);
}
String tickerString = "";
int x = 10;
private Timer timer = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
move();
}
});
public void paintComponent(Graphics g) {
/*
* Antialising einschalten
*/
((Graphics2D)g).setRenderingHint
(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Image image = new ImageIcon("/home/samu/Desktop/1.jpg").getImage();
g.drawImage(image, 0, 0, Color.BLACK, this);
g.setColor(Color.WHITE);
g.drawString(tickerString, x, 32);
}
public void move() {
x--;
repaint();
Display.getDisplayFrame().repaint();
}
public void setTimerDelay(int delay) {
timer.setDelay(delay);
}
public void setTickerString() {
tickerString = PanelDisplayControls.getTextFieldTickerString().getText();
}
public void setTimer(Timer timer) {
this.timer = timer;
}
public Timer getTimer() {
return timer;
}
}
Wenn ich ja irgendwie die Position des gezeichneten Strings bestimmen könnte, würde ich schon klar kommen, aber hab einfach keine Idee und hab auch noch nicht viel mit Graphics gemacht.
Danke schonmal für die Hilfe
Grüße,
sMau
Zuletzt bearbeitet: