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
risposta
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".
C'è molto interesse in tale componente sembra. Qui ci sono alcune altre discussioni su SO con buone indicazioni per l'attuazione del presente:
- Looking for an efficient Java Swing based console
- Create a Command console
- Java Swing console component
- Create Java command console in JPanel
e c'è ancora di più se i suggerimenti se Google i termini "swing console".
- 1. Aggiunta JPanel JFrame a
- 2. Aggiunta immagine a JFrame
- 3. JFrame rimozione di JPanel e aggiunta di un nuovo JPanel
- 4. Aggiunta di 2 o più oggetti a JFrame
- 5. Come aggiungere un ImageIcon a un JFrame?
- 6. Aggiunta di un valore a una tupla
- 7. Aggiunta di una matrice a un grafico?
- 8. Estensione di un JFrame
- 9. Come mettere a fuoco un JFrame?
- 10. Come aggiungere più componenti a un JFrame?
- 11. Come posso aggiungere un JTextField a un MenuBar di JFrame?
- 12. Aggiunta di un percorso DLL nativo per un'applicazione console gestita
- 13. come visualizzare la console java in JFrame/JPanel
- 14. JFrame a schermo intero Java
- 15. Centrare l'immagine in una JFrame?
- 16. Come impedire a JFrame di chiudersi
- 17. Disabilita JFrame quando viene aperto un nuovo JFrame
- 18. Aggiunta di una tabella di contenuti a un report Jasper?
- 19. Aggiunta di un frammento a una finestra di dialogo
- 20. Aggiunta di una chiave esterna a un modello di rotaie
- 21. Java Aggiunta di una stringa a un array di stringhe
- 22. Aggiunta di un suggerimento a una casella di input
- 23. Aggiunta di un campo puntatore a una sottoclasse di PFUser
- 24. Creare un JFrame/ContentPane arrotondato
- 25. Aggiunta di una classe CSS a date_select
- 26. Aggiunta di testo a una trama grid.table
- 27. Matplotlib - aggiunta di sottotrame a una sottotrama?
- 28. Aggiunta di una tinta a un'immagine
- 29. Aggiunta di una vista contenitore a UICollectionViewCell
- 30. Aggiunta di più stringhe a una stringa
Il mio consiglio: no. Se stai usando una GUI, non ostacolarla in questo modo. –
Ciao @HovercraftFullOfEels! Puoi suggerire cosa si può fare invece? Ho trovato questa domanda molto interessante. – TechSpellBound
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. –