2010-05-18 11 views
11

Bueno, sé Java básico y quería aprender Swing, así que por supuesto miré primero al sitio web de Sun, donde está this tutorial. Iba a comenzar, pero me di cuenta de que dependía mucho de NetBeans, de lo que no estoy seguro.Aprendiendo Java Swing (¿Constructor de GUI o no?)

No estoy seguro porque es el aprendizaje que quiero lograr, no es un programa agradable.

Así que pensé que usar NetBeans como este sería genial una vez que lo sé, pero no quiero estar construyendo cosas sin una pista de lo que está pasando debajo, y por supuesto esto también podría causar problemas más adelante.

Mi primera pregunta es si esta es la forma correcta de hacerlo, ¿debería tratar de no confiar demasiado en un IDE? Al revisar las preguntas en el sitio, la mayoría de las personas recomiendan usar el tutorial de Sun, y solo he visto una respuesta que concuerda con lo que estoy pensando, y se vincularon al this resource, que parece prometedor. O tal vez estoy obteniendo una idea equivocada del tutorial de Sun, quizás no confíe en el IDE, simplemente parecía eso.

Mi segunda pregunta es, si está de acuerdo conmigo, ¿qué recursos (aparte del de arriba) recomendaría?

Gracias por su respuesta.

Respuesta

7

No diría que Sun confía en NetBeans en sus tutoriales tanto como hace referencia a NetBeans porque NetBeans es el IDE de Sun.

Uso Eclipse para mi desarrollo de Java. Un buen IDE puede ayudarlo con el trabajo ocupado, para que pueda enfocarse en el problema que tiene entre manos.

Si quieres aprender oscilación, recomiendo The Definitive Guide to Java Swing, Third Edition. Este libro lo lleva paso a paso a través de diseños y widgets, utilizando y reforzando el patrón MVC de desarrollo de GUI.

Para los desarrolladores avanzados de Swing, recomiendo Swing Hacks: Tips and Tools for Killer GUIs. Este libro te muestra algunos trucos para hacer explotar tu GUI.

+0

Puedo obtener ese libro, prefiero tener una copia impresa de algo en lugar de una referencia en línea, por alguna razón. – Paul

+0

Soy de la misma manera. Incluso con dos monitores, prefiero un libro sobre la mayoría de los tutoriales en línea. –

+0

Aprendí Swing de los libros Core Java en el año 2000 o más. ¡Espero que todavía sean tan buenos! http://www.amazon.com/Core-Java-TM-I-Fundamentals-8th/dp/0132354764/ref=pd_sim_b_1 –

0

En realidad, esos tutoriales hacen referencia a Netbeans varias veces, pero por lo general todavía le dicen cómo hacer cosas en el código. Una vez que tenga una buena idea de cómo funciona Swing en general, probablemente leerá cada uno de ellos cuando lo necesite.

Por ejemplo Using Swing Components tiene notas (más o menos) en profundidad sobre cada uno de los componentes de interfaz de usuario estándar y Laying Out Componnents tiene detalles sobre los administradores de disposición estándar.

Esos son, al menos para mí, las cosas a las que vuelvo más. Y excluyendo un toque muy breve con Netbeans, nunca volví a tocar su creador de GUI.

0

Creo que primero debes aprender el idioma. Usar un IDE te hace más eficiente, sin embargo creo que puede llevarte a problemas en el futuro si necesitas usar un IDE diferente. Encuentro este libro muy útil, Introduction to Java Programming. Todos los ejemplos en el libro están en código.

+0

Ese libro parece que es solo para Java, pero es específicamente Swing Estoy aprendiendo, ya tengo una comprensión razonable de Java – Paul

+0

Tiene temas dedicados en Swing también. Además de cómo hacer aplicaciones que tienen una GUI relativamente básica. Puede usarlo como una introducción a Swing. – npinti

1

El tutorial se trata principalmente de código. Es solo el único capítulo sobre NetBeans. El resto es sobre Swing y se puede hacer en cualquier IDE.

No recomendaría trabajar con un constructor de GUI, simplemente porque como dices, no entiendes lo que sucede debajo. Comience simplemente con Windows y progresivamente trabaje para agregar componentes de GUI e interactuar con ellos. Comprenda las ventajas de la forma MVC de hacer las cosas.

Y la mejor recomendación que puedo dar es no sentarse a "aprender" Swing. Elija un proyecto que le interese y puede hacerlo usando Swing. Al tener en mente un objetivo de un programa de trabajo, será mejor que aproveche las lecciones que ofrecen los tutoriales.

+1

en mi humilde opinión que es uno de los mayores inconvenientes de Swing. Fue concebido como tan complejo que ningún creador de GUI puede enfrentarlo de manera efectiva y aún así permitir que el desarrollador haga lo que quiera. Y después de muchas horas de escribir UI con Swing, todavía no sé cómo estructurar mi código que todavía es legible y mantenible. – Joey

+0

Sí, esa es mi idea. Estoy pensando en hacer un juego muy simple (o tal vez algo más simple primero) y pensé que Swing funcionaría para eso. – Paul

1

Parece que eres un principiante en columpios. Yo recomendaría no confiar en Netbeans para desarrollar UI swing. Intente diseñar la UI escribiendo solo código. Esto mejorará su base de conocimiento en oscilaciones y luego podrá usar el constructor de GUI disponible si lo desea.

1

nunca he encontrado constructores GUI a ser muy útil en Java todos modos. NetBeans tiene uno muy bueno, pero recomiendo que construyas tus propias GUI.

Por otro lado, es posible que las GUI de Swing un tanto prolijo. Hay alternativas, Java-FX aparentemente tiene un lenguaje declarativo en el que puede definir su GUI mientras escribe todo lo demás en Java.

también maravilloso tiene una capa de sintaxis declarativa agradable sobre swing que pueden hacer las cosas un poco más fácil cuando se inicia.

Si desea experimentar con Swing, le recomiendo jugar con él en Groovy o BeanShell. Es una verdadera rápida a sólo escriba:

f=new JFrame("My Frame") 
f.setVisible(true) 
f.setSize(300,600) 

y ver su marco aparece en la pantalla. (Tanto Groovy como Beanshell manejan muy bien la sintaxis de Java - no es como si no aprendieras Swing - es más como si lo aprendieras en un intérprete en lugar de un compilador ...

Por cierto, si no lo haces t desea utilizar la sintaxis de Java Groovy puede hará mas fácil con declaraciones que son algo como esto (es posible que tenga mal por sólo un poco)

f=new JFrame(name="My Frame", visible=true, size=[300,600]) 

que cambia desde 3 o 4 líneas a uno.

+0

Si crees que la codificación de las GUI de Swing es prolija, deberías empezar a pensar en crear tus propios métodos/clases de ayuda. – Mot

+0

@mklhmnn Siempre lo hago, pero estaba hablando con alguien que parecía ser muy nuevo en Java. –

1

Siempre aprendo nuevos marcos mejor que el de bajo nivel.

  1. Aprender un nuevo lenguaje de programación ha demostrado ser lo mejor para mí si tuviera que compilar archivos fuente con la línea de comandos. El uso de un IDE como xCode hace que sea más difícil entender los conceptos básicos .
  2. Tenía una manera muy difícil de aprender a comprender los conceptos básicos de la plataforma Eclipse, porque casi todos los tutoriales indican que debe hacer clic en la GUI de Eclipse. Ningún tutorial actualizado indica qué líneas agregar a qué archivo XML y cómo las cosas van juntas. Afortunadamente, esto fue mucho más simple para Swing.

Por lo tanto mi recomendación: no utilizar un constructor de interfaz gráfica de usuario para el aprendizaje , porque oculta todas las cosas importantes que ayudan a comprender realmente lo que está pasando. Use un buen tutorial Java/Swing y comience a escribir sus aplicaciones. Una vez que comprenda los conceptos básicos, puede usar un generador de GUI para crear prototipos.

Cuestiones relacionadas