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

    comunicazione tra jFrame e attraverso interfacce

    Ciao a tutti! Sto realizzando un gioco di ruolo: ho separato la logica dalla grafica (come potete vedere dall'allegato) e adesso sto implementando quest'ultima in swing.
    Dopo aver creato la finestra di menu, faccio file > new game e si apre un nuovo jframe per selezionare il numero dei giocatori e scegliere il nome e la razza.
    A me serve ricevere questi ultimi dati (quanti, chi e cosa) e passarli alla logica tramite interfaccia in modo che possa creare l'arraylist di giocatori.
    Come si fa? È da giorni che sono bloccato.

    EDIT
    Questo il mio ultimo main:
    codice:
    InputInterface logic = new WorldEngine();
    OutputInterface graphic = new GraphicEngine(logic);
    ((WorldEngine) logic).setOutputInterface(graphic);
    graphic.menu();
    graphic.menu realizza questo: new MenuFrame(InputInterface i);
    Quando l'utente preme File > New Game, si apre new PlayerGeneratorFrame(InputInterface i);
    È così che si programma in Java? Per usare l'interfaccia devo passarla a tutto ciò che creo? Mi viene il dubbio che sarebbe più carino, per tutti i frame, fare riferimento a GraphicEngine e poi solo questa usa InputInterface.

    Spero di esser stato chiaro e di ricevere il vostro aiuto al più presto, non manca molto alla consegna
    Vi ringrazio in anticipo.
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    72
    Se ho capito bene hai una classe Giocatore e in WorldEngine hai un ArrayList di giocatori..
    Potresti mettere un metodo simile in WorldEngine
    codice:
    public void addGiocatore(Giocatore g){
        lista.add(g);
    }
    Dovresti richiamare questo metodo al termine dell'inserimento dei dati

  3. #3
    Allego un diagramma un po' più completo.

    Main avvia GraphicEngine, che avvia MenuFrame, che avvia PlayerGeneratorFrame quando l'utente clicca su File > New Game.
    Ora da PlayerGeneratorFrame, quando l'utente clicca "Done", devo far scendere i dati fino a WorldEngine tramite la sua interfaccia.
    Stanotte ci sono riuscito passando "logic" (guardate il main) a graphic, che lo passa a MenuFrame che lo passa a PlayerGeneratorFrame, che così può invocare input.setPlayers(int ...).

    Mi sto chiedendo se questo modo di procedere sia progettualmente corretto... ho l'impressione che tutti i frame dovrebbero fare riferimento a graphic, non a input...
    Immagini allegate Immagini allegate

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.