Siempre he querido crear componentes personalizados en Java, o personalizar los existentes, pero mis búsquedas, nunca se tradujo en nada útil. Así que me decidí a pedir la StackOverflow de la comunidad:

¿Dónde puedo encontrar información acerca de la personalización de Java Componentes de la GUI en general?

Y cuando me refiero a la personalización, no estoy hablando de cambiar los colores, fuentes, etc. Me refiero a realmente personalizarlos. Aquí hay dos maqueta ejemplo componentes:

Cómo crear una personalizada Componente Swing

Notas

Empecé a esta pregunta principalmente para encontrar la manera de crear de los dos componentes personalizados. Pero luego me di cuenta de que no hay una pregunta general acerca de la piratería componentes swing. Así que pensé que sería mejor tener una lista de recursos.

En caso de que usted se está preguntando cómo hacer los dos componentes en la maqueta de trabajo, aquí está:

Personalizado JScrollPane que tiene dos Barras de desplazamiento para cada orientación. Cada barra de desplazamiento puede actuar de manera diferente. Por ejemplo, los exteriores de desplazamiento normalmente y el interior, mueva el punto de vista de una manera más Picasa-como forma. De hecho, conseguí un trabajo(!) respuesta de grupos de google aquí, pero eso fue sólo el código.

La segunda es una costumbre Jtree que, cuando la ventana emergente de la lista se expande, tiene un JComponent al final. Esto puede ser cualquier cosa, desde un simple JLabel con un icono, un JButton que manipula la lista de una manera.

Pero esta pregunta no es acerca de los componentes específicos. Se trata de la búsqueda de recursos (páginas web, libros, artículos, etc.) para aprender a crear ellos.

  • Me di cuenta de que la sceenshot dice «jbomponent»… 😛
InformationsquelleAutor pek | 2009-05-05

6 Comentarios

  1. 18

    Este artículo, Cómo Escribir una Costumbre Componente Swing debe ser realmente útil. Cubre la replicación de una de las Ventanas de control deslizante que tiene tanto en pasos discretos y un rango continuo.

    • Este enlace está fuera de fecha. A pesar de que la página actual, todavía existe, usted encontrará las imágenes y los enlaces dentro de la página son todos los que faltan. ¿Alguien tiene un link actualizado? También, en general, en LO que ponemos el contenido relevante desde el enlace en la respuesta precisamente por casos como este, donde el vínculo se hace fuera de fecha.
  2. 15

    El JDK es de código abierto. Para entender cómo se escribe un componente Swing, no hay mejor lugar para buscar que el origen de los componentes Swing. En general, al crear componentes personalizados, usted está interesado en uno o más de los siguientes: {interacción semántica, la representación visual, la composición de la estructura}

    Empezar con el más simple de los casos:

    Componentes pasivos: JLabel

    Componentes interactivos: JButton

    JLabel demostrará la simple extensión de JComponent personalizadas de dibujo de un componente; en este caso, es el dibujo de la ‘texto’ de la cadena de valor como su representación.

    JButton demostrará la simple extensión para la interacción del usuario además de dibujar el componente.

    • Un par de advertencias a tener en cuenta al leer Swing código: hay un montón de código en la vista de compatibilidad hacia atrás; la mayoría de los gráficos es el código de la interfaz de usuario de clases; el Swing clases han «evolucionado» y no son necesariamente representativas de las mejores prácticas.
    • Dirección Web para el componente de código
  3. 10

    Filthy Rich Clientes es un excelente libro muy fácil de leer sobre este tema. Es más acerca de la mejora de la apariencia de los componentes Swing de crear otras totalmente nuevas, pero sí en las tripas de Swing y proporciona una gran cantidad de ejemplos prácticos.

    • Sí, he leído este libro. Muy buen libro, pero, como usted dijo, es sobre todo acerca de la mejora de la apariencia.
  4. 4

    Este es un poco más abierta la cuestión de la breve respuesta simple es que usted subclase JComponent o uno de sus descendientes y agregar la funcionalidad que usted requiere. Obviamente, dependiendo de lo que estás queriendo hacer esto, puede que varían en dificultad. Para empezar les recomiendo leer del Sol tutorial sobre el uso de los componentes Swing donde hay ejemplos sobre cómo utilizar desplácese paneles y los menús emergentes. Una vez que usted ha leído a través de esos y experimentado usted puede tener preguntas más específicas que será más fácil para la gente para proporcionar considerado respuestas.

    Si los dos componentes en su maqueta son todos los que se quieren implementar, a continuación, puesto que nos dan una mejor idea de cómo desea que la función obtendrás mejores respuestas.

    • He leído el Tutorial de Java (y siempre lo hacen cuando se trata de Swing), pero no acaba de ir tan profundo como el que necesito.
    • puede ser más específico en la explicación de lo que se necesita entonces? Son ganas de saber específicamente cómo lograr la funcionalidad que usted ha burlado en la pregunta o la pregunta es la intención de ser más general?

Dejar respuesta

Please enter your comment!
Please enter your name here