コード例 #1
0
ファイル: Classe.java プロジェクト: giodabg/gestione_orario
 Classe(
     String str,
     int id,
     int a,
     char sez,
     String ind,
     char is,
     Aula aula,
     ListaInfoMatDocClassAule materieDocenti,
     Color c) {
   nome = str;
   idClasse = id;
   anno = a;
   sezione = sez;
   indirizzo = indirizzo2Int(ind);
   istituto = is;
   listaOre = new ListaOre();
   // predispongo un vettore vuoto
   // e per ogni ora teoricamente possibile aggiungo l'ora libera
   oreLibere = new Vector();
   for (int g = 1; g <= GestOrarioApplet.maxNumGiorni; g++) {
     for (int s = 1; s <= GestOrarioApplet.maxNumSpazi; s++) {
       OraLibera ol;
       ol =
           (OraLibera)
               GestOrarioApplet.infoMatDocAule.infoOreLibere.get(
                   (g - 1) * GestOrarioApplet.maxNumSpazi + (s - 1));
       if (ol != null) {
         ol.addClasse(this);
         oreLibere.add(ol);
       } else {
         String str1 = nome + " non può avere nel giorno " + g + " l'ora " + s + " come libera.";
         System.out.println(str1);
         JOptionPane.showMessageDialog(null, str1);
       }
     }
   }
   listaDoc = new Vector();
   hFont = 20;
   colore = c;
 }
コード例 #2
0
ファイル: Classe.java プロジェクト: giodabg/gestione_orario
  public void addOra(OraGraph o) {
    if (!listaOre.add(o)) {
      OraGraph oo = listaOre.get(o.giorno, o.spazio);
      String str = "Nella classe " + nome + ", nel giorno " + o.giorno + " l'ora " + o.spazio;
      str += " non può essere assegnata a " + o.classe.nome + " perchè c'è già ";
      if (oo.getDoc() != null) {
        str += oo.getDoc().nome;
      }
      if (oo.getDocCom() != null) {
        str += " " + oo.getDocCom().nome;
      }
      System.out.println(str);
      JOptionPane.showMessageDialog(null, str);

      if (listaDoc.indexOf(oo.docente) != -1) listaDoc.add(oo.docente);
      if ((oo.docenteCom != null) && (listaDoc.indexOf(oo.docenteCom) != -1))
        listaDoc.add(oo.docenteCom);

    } else {
      // devo rimuovere l'ora da quelle libere
      OraLibera ol;
      ol =
          (OraLibera)
              GestOrarioApplet.infoMatDocAule.infoOreLibere.get(
                  (o.giorno - 1) * GestOrarioApplet.maxNumSpazi + (o.spazio - 1));
      if (ol != null) {
        ol.removeClasse(this);
        oreLibere.remove(ol);
      } else {
        String str =
            nome
                + " nel giorno "
                + o.giorno
                + " l'ora "
                + o.spazio
                + " non può essere rimossa dalle ore libere.";
        System.out.println(str);
        JOptionPane.showMessageDialog(null, str);
      }
    }
  }
コード例 #3
0
ファイル: Classe.java プロジェクト: giodabg/gestione_orario
  //    Classe(String s, ListaInfoMatDocClassAule materieDocenti) {
  Classe(String str) {
    nome = str;
    if (nome.equalsIgnoreCase("D")) {
      nome = "Dispo";
      idClasse = lastID;
      lastID++;
      anno = 1;
      sezione = 'D';
      indirizzo = 'D';
    }
    // "O" indica un'ora in un'altra scuola
    else if (nome.equalsIgnoreCase("O")) {
      nome = "AltraSc";
      idClasse = lastID;
      lastID++;
      anno = 1;
      sezione = 'O';
      indirizzo = 'O';
    }
    // "R" indica un'ora in un'altra scuola
    else if (nome.equalsIgnoreCase("R")) {
      nome = "AltraSc";
      idClasse = lastID;
      lastID++;
      anno = 1;
      sezione = 'R';
      indirizzo = 'R';
    } else {
      idClasse = lastID;
      lastID++;
      anno = nome.charAt(0) - '0';
      sezione = nome.charAt(1);
      try {
        indirizzo = indirizzo2Int(nome.charAt(2));
      } catch (Exception e) {
        indirizzo = indirizzo2Int('B');
      }
    }
    istituto = 'I';
    listaOre = new ListaOre();
    // predispongo un vettore vuoto
    // e per ogni ora teoricamente possibile aggiungo l'ora libera
    oreLibere = new Vector();
    for (int g = 1; g <= GestOrarioApplet.maxNumGiorni; g++) {
      for (int s = 1; s <= GestOrarioApplet.maxNumSpazi; s++) {
        OraLibera ol;
        ol =
            (OraLibera)
                GestOrarioApplet.infoMatDocAule.infoOreLibere.get(
                    (g - 1) * GestOrarioApplet.maxNumSpazi + (s - 1));
        if (ol != null) {
          ol.addClasse(this);
          oreLibere.add(ol);
        } else {
          String str1 = nome + " non può avere nel giorno " + g + " l'ora " + s + " come libera.";
          System.out.println(str1);
          JOptionPane.showMessageDialog(null, str1);
        }
      }
    }

    listaDoc = new Vector();
    //        Aula aulaClasse  = new Aula(s);

    //        listaOre.init(this, aulaClasse, materieDocenti);
    hFont = 10;
    colore = classeColor();
  }