2010-01-12 11 views
11

Hice esto en Photoshop y me la vaya a utilizar para mi aplicación para compartir archivos:¿Es posible construir una GUI personalizada como esta en Java?

Screenshot

Me preguntaba si era posible crear GUI para mi aplicación que se va a tener esta apariencia.

Si no puedo construirlo solo usando eclipse o NetBeans, ¿hay alguna otra herramienta que me pueda ayudar?

+5

Probablemente sólo debe hacerlo en el aspecto y la sensación normal en primer lugar, luego preocuparse por las miradas elegantes. – Carl

Respuesta

17

No solo es posible sino que es bastante fácil, no tiene que recorrer todo el camino para crear una apariencia personalizada.

Esto es lo que he hecho en 20 minutos:

20mins

Hay una gran cantidad de información en la web sobre cómo personalizar los componentes sin tener que crear toda una nueva L & F.

Comprender el Swing Architecture ayuda mucho.

Por si acaso no lo has leído, el Swing Tutorial está aquí.

último que necesita el doc: Java doc

+1

JButton.setBorder (BorderFactory.createEmptyBorder()); y JButton.setOpaque (verdadero); son tus amigos. –

7

Es posible. Pero para la mayoría de los desarrolladores de Java, sería necesario suprimir el reflejo nauseoso en una interfaz tan fea.

Aquí hay un Java interface que escribí sin utilizar otras herramientas que vi. No lo diseñé, simplemente tomé el diseño del artista, me sostuve la nariz y lo implementé.

En cuanto a detalles, sugeriría hacer la mayor parte de la apariencia a través de la apariencia y el tacto conectables en Swing. Además, use LayoutManagers en lugar de hacer que las cosas sean de tamaño constante en ubicaciones constantes para que las cosas crezcan y se reduzcan a diferentes resoluciones de pantalla y también para que, si traduces las cosas, no tengas que cambiar el tamaño de todas las etiquetas de texto y barajar todo alrededor.

+0

+1 OK, bien. Diet Coke en mi teclado ahora. * sacude el puño * – skaffman

+1

Si desea hacer una pregunta específica, haga una pregunta específica. De lo contrario, no lamente que respondí a su pregunta "¿Es posible?". –

+0

OK, déjame ser preciso. ¿Qué programa o herramientas debo usar para hacer mi GUI personalizada? – AmateurProgrammer

33

¡Oh querido, no-no-no! Si quieres que los ojos de tus usuarios sangren, entonces hazlo. De lo contrario, siga las pautas de UI apropiadas para su plataforma.

Para responder a su pregunta: esto es ciertamente factible en cualquier sistema moderno de ventanas.

Esto es lo que sucede generalmente cuando los programadores diseñar interfaces de usuario:

wGetGUI http://www.jensroesner.de/wgetgui/wgetgui.png

+21

ah, encantador ... diseñado para ingenieros, por ingenieros ... – skaffman

+0

que se parece a la interfaz gráfica de usuario habitual con componentes generales de GUI. Quiero algo para crear componentes personalizados, por ejemplo, como los de la imagen que agregué. ¿Hay algún software para ese tipo de cosas? – AmateurProgrammer

+2

@AmateurProgrammer ¡te perdiste el punto por completo! :) –

1

que tendrá que crear un montón de encargo JComponentes. Aparte de eso, es posible.

2

Bueno eso es muy posible, aunque una gran cantidad de desarrolladores Java Swing puede no estar de acuerdo con la interfaz de usuario en la imagen. Quizás con razón.

A pesar de que sea muy posible intente buscar en JWindow, JTable, ImageIcon, Dimension, JProgressBar. También necesitará un amplio conocimiento para Java Layouts y Eventos como MouseEvents, ActionEvents.

Espero que ayude.

+0

Me ayuda. Cubro todos los aspectos básicos relativos a la GUI, pero esto es algo que todavía está fuera de mi alcance. – AmateurProgrammer

3

Crear nuevos LaF es demasiado. Como todos sus JButton son diferentes, solo use JButton.setIcon() y JButton.setPressedIcon() y use sus imágenes. El resto es cargar fondo y usar fuentes extrañas. Use Font.createFont() para cargar fuentes personalizadas. Probablemente tengas que dibujar tu propia JProgressbar. Anule JProgressBar.paintComponent(Graphics g) y dibuje su propia imagen.

1

recomendaría

MiG Layout

para la colocación de los componentes, es muy fácil de entender y también es mucho más poderoso que los gestores de diseño estándar (y que tiene un modo de depuración agradable, también).

+0

"diseño" ?? ¿Hay alguna "puesta" en el armario ... quizás "tendiendo componentes"? –

+0

Oh, sry para eso xD – helpermethod

Cuestiones relacionadas