2012-04-20 19 views
6

Sto lavorando a un gioco in questo momento che utilizza uno scanner per interagire con l'utente. Il gioco era il primo basato sul testo, quindi la vista della console Java era ciò che usavo per giocare. Ora devo convertire il gioco in un Gui o Jframe, quindi voglio essere in grado di avere la stessa funzionalità della console all'interno del frame pur essendo in grado di utilizzare ancora lo scanner. Qualche idea? Im nuova codifica quindi qualsiasi aiuto o lo stesso codice sarà molto apprezzato! Grazieaggiunta di una console a un Jframe

+2

Il mio consiglio: no. Se stai usando una GUI, non ostacolarla in questo modo. –

+1

Ciao @HovercraftFullOfEels! Puoi suggerire cosa si può fare invece? Ho trovato questa domanda molto interessante. – TechSpellBound

+2

Un programma di console è per sua natura un programma lineare che limita in larga misura le sue capacità, mentre una GUI è un programma basato sugli eventi il ​​cui comportamento non dipende da dove si trova una linea, ma dallo stato corrente del programma accoppiato con l'input dell'utente. Se hai intenzione di creare una GUI, non legarla a uno scanner ma renderla grafica e guidata dagli eventi. –

risposta

2

Si potrebbe creare una GUI che si presenta come una console, come ad esempio avendo un JTextArea per la visualizzazione del testo della console, e un JTextField in cui l'utente può inserire le informazioni che vogliono inviare alla console. Aggiungendo un KeyListener allo JTextField, è possibile ascoltare l'utente premendo 'Invio' e quindi inviare le informazioni alla console.

Invece di leggere l'input dell'utente dalla console (che si siede e attende che l'utente finisca di immettere le informazioni, quindi esegue un'azione), si dovrebbe semplicemente ascoltare il tasto "Invio" e quindi chiamare un metodo, passando attraverso il tuo testo "JTextField".