Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    scritta che cambia al passaggio prestabilito

    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();
    }
    });
    }
    }

  2. #2
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    meglio spostare in Java e non in grafica
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.