Im trabajando en un juego ahora que utiliza un escáner para interactuar con el usuario. El juego fue el primero basado en texto, por lo que la vista de consola de Java era lo que solía jugar. Ahora tengo que convertir el juego en una Gui o Jframe, así que quiero poder tener la misma función de consola dentro del marco y al mismo tiempo poder usar el escáner. ¿Algunas ideas? ¡Im nuevo en la codificación por lo que cualquier ayuda o código será muy apreciado! Graciasagregar una consola a un Jframe
Respuesta
Se puede crear una interfaz gráfica de usuario que se parece a una consola, como por tener una JTextArea
para visualizar el texto de la consola, y una JTextField
donde el usuario puede introducir la información que desean enviar a la consola. Agregando un KeyListener
al JTextField
, puede escuchar al usuario presionando 'Enter' y luego enviar la información a la consola.
En lugar de leer la entrada del usuario desde la consola (que se sienta y espera a que el usuario termine de ingresar la información, luego realiza una acción), simplemente debe escuchar la tecla 'Entrar' y luego llamar a un método, pasar su texto 'JTextField'.
Parece que hay mucho interés en tal componente. Aquí están algunas otras discusiones sobre SO con buenos indicadores de desarrollo del presente:
- Looking for an efficient Java Swing based console
- Create a Command console
- Java Swing console component
- Create Java command console in JPanel
Y Hay incluso más si indirectas si Google los términos "swing console".
- 1. ¿Cómo agregar múltiples componentes a un JFrame?
- 2. Agregar 2 o más objetos a JFrame
- 3. cómo visualizar consola java en JFrame/JPanel
- 4. actualizar JFrame después de agregar nuevos componentes
- 5. JFrame eliminar JPanels y agregar un nuevo JPanel
- 6. agregar espacio entre JFrame y JPanel
- 7. agregando múltiples jPanels a jFrame
- 8. JPanel a JFrame
- 9. ¿Debo agregar componentes a un JFrame o a su panel de contenido?
- 10. Refresh JList en un JFrame
- 11. Cómo TDD un JFrame?
- 12. ¿Cómo puedo agregar un JTextField a la barra de menús de JFrame?
- 13. ¿Cómo enfocar un JFrame?
- 14. Extender un JFrame
- 15. ¿Cómo hacer un JFrame realmente a pantalla completa?
- 16. Deshabilitar JFrame cuando se abre un nuevo JFrame
- 17. ¿Por qué JFrame originalmente requieren getContentPane() para agregar componentes
- 18. Crear un JFrame/ContentPane redondeado
- 19. agregar una referencia de servicio web a una aplicación de consola
- 20. ¿Cómo maximizar un JFrame a través del código?
- 21. ¿La eliminación de un JFrame causa una fuga de memoria?
- 22. Establecer ubicación de JDialog relativo a JFrame
- 23. ¿Cómo hacer un JFrame desplazable en Java?
- 24. De JFrame a JPanel en Netbeans
- 25. Java: muestra una ventana JFrame minimizada
- 26. Agregar una sombra a un NSImageView
- 27. Android: Agregar un fragmento a una actividad
- 28. Agregar una imagen a un elemento JList
- 29. ¿Agregar una matriz a un diagrama?
- 30. F # Agregar un elemento a una secuencia
Mi consejo: no lo hagas. Si va a utilizar una GUI, no la obstaculice de esta manera. –
Hola @HovercraftFullOfEels! ¿Puedes sugerir qué se puede hacer en su lugar? Encontré esta pregunta muy interesante. – TechSpellBound
Un programa de consola es, por naturaleza, un programa lineal que limita sus capacidades en gran medida, mientras que una GUI es un programa orientado a eventos cuyo comportamiento no depende de dónde se encuentre en una línea, sino del estado actual del programa junto con la entrada del usuario. Si va a hacer una GUI, no la vincule a un escáner sino que la haga gráfica y controlada por eventos. –