Salve
al passaggio di un rettangolo che si sposta da sinistra a destra, non riesco a stare ferma la scritta che visualizza la posizione X fino al passaggio successivo
qualcuno mi può aiutareil file è Orrizzontale.java
grazie

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Orrizzontale extends JFrame {

private static final int D_W = 1350;
private static final int D_H = 680;
int x = 0; //POSIZIONE partenza orrizzontale
int y = 250; //posizion partenza verticale

DrawPanel drawPanel = new DrawPanel();

public Orrizzontale() {
ActionListener listener = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
if (x >= D_W) {
x = 0;
drawPanel.repaint();
} else {


x += 10;

drawPanel.repaint();
}
}
};
Timer timer = new Timer(400, listener);
timer.start();
add(drawPanel);

pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setExtendedState(JFrame.MAXIMIZED_BOTH); //Jframe a schermo intero
//setLocationRelativeTo(null);
setVisible(true);
}

private class DrawPanel extends JPanel {

protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
g.setFont(new Font(g.getFont().getFontName(),Font.PLAIN,20) );
g.drawString("X="+x,300,120);
if (x==50 || x==100 || x==150 || x==200 || x==250 || x==300 || x==350 || x==400 || x==450|| x==500 || x==550 || x==600 || x==650 || x==700 || x==750 || x==800 || x==850 || x==900 || x==950 || x==1000 || x==1050 || x==1100 || x==120|| x==1250 || x==1300 || x==1350 || x==1400 || x==1450 || x==1500) {
g.setColor(Color.red);
g.setFont(new Font(g.getFont().getFontName(),Font.PLAIN,20) );
g.drawString("X="+x,300,160);
g.setColor(Color.blue);
g.setFont(new Font(g.getFont().getFontName(),Font.PLAIN,40) );
g.drawString("x="+x,300,50);

}
g.setColor(Color.red);
g.fillRect(x, y, 70, 30); //formato rettangolo

g.setColor(Color.red);
g.setFont(new Font(g.getFont().getFontName(),Font.PLAIN,20) );
g.drawString("deve vedersi la scritta x=50 x=100 x=150 x=200 x=250 ecc in blu in alto",300,320);
g.drawString("mentre dovrebbe cambiare al passaggio la precedente, rimanendo visibile la nuova",300,380);
g.drawString("ora si vede solo la nuova al passaggio per pochissimo tempo",300,350);

}

public Dimension getPreferredSize() {
return new Dimension(D_W, D_H);
}
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new Orrizzontale();
}
});
}
}