GRAZIEEEE!

Tanto per precisione ti posto il codice completo:


codice:
/*** 

 NOMEFiLE: SetCoordinate.java
 AUTORE: Baglieri Salvatore & Fundarò Alessandro
 VERSiONE: 1.0

 OBiETTiVO: A partire dalle coordinate spaziali (x ed y) 
            visualizza il contenuto di 6 Remote Display

 DATA: 28/09/2004

***/

package examples.CoordinateAgent;

/*** 

 Importo librerie per l'interfaccia GUI

***/

import java.awt.*;                      // per i contenitori di componenti grafiche e il layout
import java.awt.event.*;                // per l'interazione dell'utente con la GUI del programma
import javax.swing.*;                   // per le etichette, le caselle di testo e il bottone

/*** 

 Dichiarazione della classe SetCoordinate che utilizza finestra GUI

***/

public class SetCoordinate extends JFrame {
                    
 private int x, y;                                            // Coordinata X e Y 
 
 private int A=1, B=4, C=6, D=5, 
             E=9, F=18, G=7, H=18;                           // Punti critici del posizionamento  

 private JLabel xLabel, yLabel;                              // Etichette di testo

 private JLabel unoLabel, dueLabel, treLabel, 
                quattroLabel, cinqueLabel, seiLabel;         // Etichette per i display

 private JTextField unoField, dueField, treField, 
                    quattroField, cinqueField, seiField;     // Caselle di testo per i display

 public JTextField xField, yField, display;                 // Caselle di testo

 private JButton button=new JButton("AGGiORNA DiSPLAY!");   //  Pulsante 


/*** 

 Metodo principale SetCoordinate in cui vengono definite le componenti grafiche

***/

 public SetCoordinate () {
    
  // titolo della finestra
  super("Sistema di posizionamento");
 	
  // definizione del contenitore c
  Container c = getContentPane();
  c.setLayout( new FlowLayout() );

  // in risposta ad un'azione eseguita su un componente GUI
  ActionEventi evento = new ActionEventi();



/*** 

 Definizione delle etichette per le coordinate X ed Y

***/

  xLabel = new JLabel( "Posizione X" );
  xField = new JTextField( 10 );
  xField.addActionListener(evento);      
  c.add( xLabel );
  c.add( xField );

  yLabel = new JLabel( "Posizione Y" );
  yField = new JTextField( 10 );
  yField.addActionListener(evento);
  c.add( yLabel );
  c.add( yField );  

  display  = new JTextField( 40 );
  display.setEditable( false );
  c.add( display  );


/*** 

 Definizione delle etichette dei Remote Display in cui verranno visualizzati i messaggi
 in base alle coordinate fornite dal sistema di posizionamento.

***/

  unoLabel = new JLabel( "\nRemote Display  01" );
  unoField = new JTextField( 40 );
  unoField.setEditable( false );
  c.add( unoLabel );
  c.add( unoField );  

  dueLabel = new JLabel( "Remote Display  02" );
  dueField = new JTextField( 40 );  
  dueField.setEditable( false );
  c.add( dueLabel );
  c.add( dueField );  

  treLabel = new JLabel( "Remote Display  03" );
  treField = new JTextField( 40 );
  treField.setEditable( false );
  c.add( treLabel );
  c.add( treField );  

  quattroLabel = new JLabel( "Remote Display  04" );
  quattroField = new JTextField( 40 );
  quattroField.setEditable( false );
  c.add( quattroLabel );
  c.add( quattroField );  

  cinqueLabel = new JLabel( "Remote Display  05" );
  cinqueField = new JTextField( 40 );
  cinqueField.setEditable( false );
  c.add( cinqueLabel );
  c.add( cinqueField );  

  seiLabel = new JLabel( "Remote Display  06" );
  seiField = new JTextField( 40 );
  seiField.setEditable( false );
  c.add( seiLabel );
  c.add( seiField );  

  // bottone aggiunto all'interfaccia grafica ed associato ad un evento
  button.addActionListener(evento);
  c.add(button);

/*** 

 Caratteristiche finestra:
 
 - setSize(Larghezza, Altezza)

 - setLocation(PosizioneX,PosizioneY) 
    Posizioni iniziali rispetto al punto 0, 0 
    situato in alto a sinistra del monitor.

***/

  setSize(500,420);
  setLocation(100,100);

  // Visualizza la finestra 
  show();
     
 }                                     // Fine metodo SetCoordinate


/*** 

 Metodo principale in cui viene aperta la finestra

***/      
   
 public static void main (String args[]) {
 
  SetCoordinate window = new SetCoordinate();

  window.addWindowListener (
   new WindowAdapter () {
    public void windowClosing ( WindowEvent e )
     {
      System.exit(0);
     }
    }
   );

 }                                     // Fine metodo Main


/*** 

 Caricamento dell'ActionListener per la definizione
 delle risposte del programma in seguito ad un'azione
 dell'utente (in questo caso: click sul Button)

***/      

 private class ActionEventi implements ActionListener {

  public void actionPerformed( ActionEvent e )  {

   x=Integer.parseInt (xField.getText());
   y=Integer.parseInt (yField.getText()); 

   display.setText( "La coordinata X è: " + x +"; mentre la coordinata Y è: " + y );

/*** 

 Nel caso di posizioni non monitorate o errate,
 tutti i display sono spenti (OFF)!

***/    

   unoField.setText(" OFF ");
   dueField.setText(" OFF ");
   treField.setText(" OFF ");
   quattroField.setText(" OFF ");
   cinqueField.setText(" OFF ");
   seiField.setText(" OFF ");

/*** 

 -+ ZONA 1 +-

***/    

   if (x>0 && x<D) {
    if (y>=B && y<=C) {
     unoField.setText("DIPARTIMENTO DI INFORMATICA - Università di Palermo");
     dueField.setText(" OFF ");
     treField.setText(" OFF ");
     quattroField.setText(" OFF ");
     cinqueField.setText("Spazio non monitorato");
     seiField.setText(" OFF ");
    }
   }

[...]

 }                                     // Fine ActionPerformed

}                                      // Fine ActionEventi

public String[] getTextFieldValues(){ return new String[]{xField.getText(), yField.getText()}; }   



}                                      // Fine Classe

codice:
/*** 

 NOMEFiLE: CoordinateAgent.java

 OBiETTiVO: A partire dalle coordinate spaziali (x ed y) 
            visualizza il contenuto di 6 Remote Display

 DATA: 12/10/2004

***/

package examples.CoordinateAgent;
import jade.core.*;
import jade.core.behaviours.*;
import jade.lang.acl.*;


/*** 

 Dichiarazione della classe CoordinateAgent che utilizza le funzionalità degli agenti

***/

public class CoordinateAgent extends Agent {
        
 protected void setup() {
              
  addBehaviour(new SimpleBehaviour(this) {                  // Aggiunge un nuovo comportamento "semplice"
                        
   private boolean finished = false;                         // Variabile booleana
                        
   public void action() {

    SetCoordinate s = new SetCoordinate();
    String output = "";
   
    System.out.println(getLocalName() +": ready!!");         // Stampa il messaggio
    doWait(15000);                                           // Aspetta 15 secondi prima di inviare il messaggio

    output="Coordinate: " + s.getTextFieldValues()[0] + " " + s.getTextFieldValues()[1];
                                
    AID r = new AID();                                       // Crea un nuovo AID che corrisponderà a quella del Receiver
                                
    r.setLocalName("display1@messia:1099/JADE");             // Setta come, receiver, l'agente "display1"
                                
    ACLMessage msg = new ACLMessage(ACLMessage.QUERY_REF);   // Dichiara un nuovo messaggio di tipo QUERY_REF
    msg.setSender(getAID());                                 // Setta come sender se stesso
    msg.addReceiver(r);                                      // Aggiunge tra i receiver del messaggio "r"
    msg.setContent(output);                                  // Setta il contenuto del messaggio "msg"
    send(msg);                                               // Invia il messaggio

/***

 1. Setta la variabile booleanda finished a TRUE
 2. Aspetta 5 secondi
 3. Cancella se stesso.

***/

    finished = true;
    doWait(5000);
    myAgent.doDelete();

   }                                                      // Fine action()
                        
   public boolean done() {
    return finished;
   }                                                      // Fine done()

  });                                                     // Fine Behaviour

 }                                                        // Fine setup()

}                                                         // Fine CoordinateAgent

codice:
/*** 

 NOMEFiLE: ReceiverAgent.java

 OBiETTiVO: Riceve il messaggio da visualizzare
            dal CoordinateAgent e lo visualizza 
            a schermo intero

***/

package examples.ReceiverAgent;
import javax.swing.JOptionPane;
import jade.core.*;
import jade.core.behaviours.*;
import jade.lang.acl.ACLMessage;
import jade.domain.FIPAAgentManagement.ServiceDescription;
import jade.domain.FIPAAgentManagement.DFAgentDescription;
import jade.domain.DFService;
import jade.domain.FIPAException;

// Definizione della classe RecevierAgent

public class ReceiverAgent extends Agent {

// inizializzazione della stringa display a stringa vuota 

 String display="";

// crea la classe WaitRecevierAndReplyBehaviour che estende il comportamento della classe
// di jade che non fa altro che aspettare un messaggio per poi rispondere di conseguenza

 class WaitRecevierAndReplyBehaviour extends SimpleBehaviour {

  private boolean finished = false;      // Dichiarazione di una variabile booleana settata a false


/***

 Creazione del metodo WaitReceiverAndReplyBehaviour 
 al cui interno viene passato il parametro "a"

***/
	
  public WaitReciverAndReplyBehaviour(Agent a) { super(a); }  // Fine WaitReciverAndReplyBehaviour
	
  public void action() {                                      // Dichiarazione del metodo action
  
   ACLMessage  msg = blockingReceive();                       // Istanza di un messaggio ACL denominato msg
	    
   if(msg != null) {
    ACLMessage reply = msg.createReply();    
    if(msg.getPerformative()== ACLMessage.QUERY_REF){
     String content = msg.getContent();
     display = content;
     JOptionPane.showMessageDialog(null, display, "Messaggio", JOptionPane.PLAIN_MESSAGE); // Stampa il messaggio
    }
    } else {
     JOptionPane.showMessageDialog(null, "Messaggio non valido!!", "Messaggio", JOptionPane.WARNING_MESSAGE);
    }

   } // Fine action()

  public boolean done() { return finished; } 

 } // Fine classe WaitReciverAndReplyBehaviour


// Dichiarazione del metodo protected setup()    
    
 protected void setup() {
  	
 /** Registrazione con il DF **/
 
  DFAgentDescription dfd = new DFAgentDescription();
  ServiceDescription sd = new ServiceDescription();   
  sd.setType("AgentcitiesReciverAgent"); 
  sd.setName(getName());
  sd.setOwnership("Baglieri & Fundarò");
  dfd.setName(getAID());
  dfd.addServices(sd);
  try { DFService.register(this,dfd); } catch (FIPAException e) { 
   System.err.println(getLocalName()+" registrazione con DF non effettuata. Ragione: "+e.getMessage());
   doDelete();
  }
	

 WaitRicevierAndReplyBehaviour nostroBehaviour = new WaitRecevierAndReplyBehaviour(this);
 addBehaviour(nostroBehaviour);

 } // Fine setup()
   
} // Fine classe RecevierAgent

Ne approfitto per chiederti... al posto della classica:

codice:
     JOptionPane.showMessageDialog(null, display, "Messaggio", JOptionPane.PLAIN_MESSAGE); // Stampa il messaggio
cosa potrei usare per stampare il messaggio su una finestra gigante con scritto, altrettanto gigante, il contenuto di display??

codice:
     JOptionPane.showMessageDialog(null, display, "Messaggio", JOptionPane.GIGANT_MESSAGE ); // Stampa il messaggio
Non credo che esista