Erreur dans le projet Java: ne peut pas trouver le symbole

DjWarWick:

Je suis en train de construire un projet pour l'école. Il est une liste avec quelques zones de liste déroulante qui ont un effet sur elle. Pour l'instant je suis en train de construire l'interface et la mise en œuvre plus tard utilitaire. Voici le code:

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

class Grafica {
  static IUG iug = new IUG("Proiect"); //fereastra aplicatiei
  static AAL ascultLista = new AAL(); //ascultatorul selectiei in lista
  static AEA ascultOpt = new AEA(); //ascultatorul listelor ascunse

  static class IUG extends JFrame {
    JPanel optiuni = new JPanel(new GridLayout(3,1));
    JList lista;
    JComboBox comboDist, comboProd, comboTip;

    IUG(String titlu) {
      super(titlu);
      Container cp = getContentPane();

      //marimea ferestrei este setata pe baza rezolutiei ecranului
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      double width = screenSize.getWidth();
      double height = screenSize.getHeight();
      setSize((int)width/4,(int)height/4);
      setLocation((int)width/3,(int)height/3);
      cp.setLayout(new BorderLayout());
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //se inchide programul daca inchidem fereastra

      String luni[] = {"Ianuarie", "Februarie", "Martie", "Aprilie",
         "Mai", "Iunie", "Iulie", "August", "Septembrie",
         "Octombrie", "Noiembrie", "Decembrie"};
      lista = new JList(luni);
      lista.setBorder(BorderFactory.createTitledBorder("Lista produselor"));
      //lista.setSelectModel(new DefaultListSelectionModel());
      //lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
      lista.addListSelectionListener(ascultLista);
      JScrollPane scroll = new JScrollPane(lista); //crearea panoului cu produsele aferente
      cp.add(scroll, BorderLayout.WEST);

      // crearea unui label unde se descriu produsele
      JLabel descriere = new JLabel();
      descriere.setBorder(BorderFactory.createTitledBorder("Descrierea produselor"));
      cp.add(descriere, BorderLayout.SOUTH);

      //Se creeaza listele ascunse ale optiunilor
      String tipuri[] = {"LED", "Neon", "Clasice", "Economice"};
      String distribuitori[] = {"EMAG", "Flanco", "Altex"};
      String producatori[] = {"Philips", "Star-Light", "TP-link"};
      comboTip = new JComboBox(tipuri);
      comboTip.setBorder(BorderFactory.createTitledBorder("Tipuri becuri"));
      comboTip.addItemListener(ascultOpt);
      optiuni.add(comboTip);

      comboDist = new JComboBox(distribuitori);
      comboDist.setBorder(BorderFactory.createTitledBorder("Distribuitori"));
      comboDist.addItemListener(ascultOpt);
      optiuni.add(comboDist);

      comboProd = new JComboBox(producatori);
      comboProd.setBorder(BorderFactory.createTitledBorder("Producatori"));
      comboProd.addItemListener(ascultOpt);
      optiuni.add(comboProd);

      cp.add(optiuni,BorderLayout.EAST);
      setVisible(true);
    }
  }

  static class AAL implements ListSelectionListener {
    public void valueChanged(ListSelectionEvent e) {
      JList sursa = (JList)e.getSource();
      Object selectie[] = sursa.getSelectedValues();
      StringBuffer buff = new StringBuffer();
      for(int i = 0; i < selectie.length; i++)
         buff.append(selectie[i].toString() + " ");
      iug.descriere.setText(buff.toString());
    }
  }

  static class AEA implements ItemListener {
    public void itemStateChanged(ItemEvent e) {
      iug.descriere.setText(e.getItem().toString());
    }
  }

  public static void main(String args[]) {
  }
}

Mais quand je le lance, il me montre ceci:

Grafica.java:76: error: cannot find symbol
      iug.descriere.setText(buff.toString());
         ^
  symbol:   variable descriere
  location: variable iug of type IUG
Grafica.java:82: error: cannot find symbol
      iug.descriere.setText(e.getItem().toString());
         ^
  symbol:   variable descriere
  location: variable iug of type IUG
Note: Grafica.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Grafica.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors

Toute aide est appréciée. Je ne peux pas vraiment comprendre ce que je fait de mal, même après de nombreuses recherches sur Google.

güriösä:

Que la référence à descrieremanque (ne peut pas trouver le symbole iug.descriere ), puisque vous définissez et créez JLabel descrieredans le consturctor seulement au IUG(String titlu)lieu d' en faire un attribut de classe (comme listapar exemple). Il a la mauvaise portée .

Si vous utilisez un IDE resonable il mettra en évidence la question (bien, le mien a fait) sans qu'il soit nécessaire de compiler explicitement avant d'exécuter en elle.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=362504&siteId=1
conseillé
Classement