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

    errore di compilazione in Java

    Cerco di compilare dalla linea di comando un sorgente per un applet
    ma mi compare una lista di ben 18 errori.
    Viene segnalato come introvabile il simbolo y che ricorre come carattere iniziale del nome di più varianti(yGiallo, yRosso, ecc.)
    Riporto un frammento della lista di errori:
    Semaforo:java:103: cannot find symbol
    symbol:variable yGiallo
    location:classSemaforo
    g.fill Oval(120, yGiallo, 20,20);

    Grazie
    Ciao!
    hruodbert

  2. #2
    potresti farci vedere il codice cosi ti possiamo forseaiutare di piu

  3. #3

    errore di complilazione in Java again

    Questo è il codice che ho cercato di compilare. Da cui la lista di errori di cui ho scritto nel precedente messaggio:

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.Applet;

    public class Semaforo extends Applet {
    int luce = 0;
    // 0 luci spente, 1 rosso
    // 0 2 giallo, 3 verde
    int yrosso=20;
    int ygiallo=50;
    int yverde=80;
    int yspegni=120;
    Button pulsanteRosso;
    Button pulsanteGiallo;
    Button pulsanteVerde;
    Button pulsanteSpegni;

    public void init() {
    setLayout(null);

    pulsanteRosso = new Button("Rosso");
    pulsanteRosso.setBounds(20, yRosso, 80, 20);

    pulsanteGiallo = new Button("Giallo");
    pulsanteGiallo.setBounds(20, yGiallo, 80, 20);

    pulsanteVerde = new Button("Verde");
    pulsanteVerde.setBounds(20, yVerde, 80, 20);

    pulsanteSpegni = new Button("Spegni");
    pulsanteSpegni.setBounds(40, ySpegni, 80, 20);

    add(pulsanteRosso);
    add(pulsanteGiallo);
    add(pulsanteVerde);
    add(pulsanteSpegni);

    ActionListener al = new ActionListener() {
    public void actionPerformed(ActionEvent evento){
    Object s = evento.getSource();
    if (s == pulsanteRosso)
    Rosso();
    else if (s == pulsanteGiallo)
    Giallo();
    else if (s == pulsanteVerde)
    Verde();
    else if (s == pulsanteSpegni)
    Spegni();
    }
    };

    pulsanteRosso.addActionListener(al);
    pulsanteGiallo.addActionListener(al);
    pulsanteVerde.addActionListener(al);
    pulsanteSpegni.addActionListener(al);
    }

    void Rosso() {
    luce = 1;
    repaint();
    }
    void Giallo() {
    luce = 2;
    repaint();
    }
    void Verde() {
    luce = 3;
    repaint();
    }
    void Spegni() {
    luce = 0;
    repaint();
    }

    public void paint(Graphics g) {

    g.setColor(Color.gray);
    g.fillRect(110, yRosso-10, 40, 100);

    switch (luce) {

    case 1:
    g.setColor(Color.red);
    g.fillOval(120, yRosso, 20, 20);
    g.setColor(Color.black);
    g.fillOval(120, yGiallo, 20, 20);
    g.fillOval(120, yVerde, 20, 209);
    break;

    case 2:
    g.setcolor(Color.yellow);
    g.fillOval(120, yGiallo, 20, 20);
    g.setColor(Color.black);
    g.fillOval(120, yRosso, 20, 20);
    g.fillOval(120, yVerde, 20, 20);
    break;

    case 3:
    g.setColor(Color.green);
    g.fillOval(120, yVerde, 20, 20);
    g.setColor(Color.black);
    g.fillOval(120, yRosso, 20, 20);
    g.FillOval(120, yGiallo, 20, 20);
    break;

    case 0:
    g.setColor(Color.black);
    g.fillOval(120, yRosso, 20, 20);
    g.fillOval(120, yGiallo, 20, 20);
    g.fillOval(120, yVerde, 20, 20);
    }
    }
    }
    hruodbert

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Quando dichiari le variabili le scrivi completamente minuscole.
    codice:
    int yrosso=20;
    int ygiallo=50;
    int yverde=80;
    Quando le usi invece, metti alcune lettere maiuscole.
    codice:
    pulsanteRosso.setBounds(20, yRosso, 80, 20);
    Java e' case sensitive, quindi fa distinzione fra minuscole e maiuscole.

    P.s. Quando apri una discussione, devi proseguire postando sempre nella stessa se il problema riguarda lo stesso argomento. Aprire una discussione per ogni post serve solo ad intasare il forum.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    La prossima volta non aprire una nuova discussione, semplicemente rispondi a quella già aperta.

    Ho unito le due discussioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2026 vBulletin Solutions, Inc. All rights reserved.