2012-08-02 11 views
15

Se considera una mala práctica para diseñar elementos Swing utilizando HTML?¿Es una mala práctica usar HTML Styling en Java Swing Elements?

A modo de ejemplo, si quiero hacer un sello más grande y rojo sólo una vez, tengo dos opciones:

ya sea usando llamadas API:

JLabel label = new JLabel("This is a title"); 
label.setFont(label.getFont().deriveFont(18)); 
label.setForeground(Color.red); 

o usando HTML:

JLabel label = new JLabel("<html><font size='4' color='#ff0000'>This is a title"); 

Además, el forma HTML me permite enfatizar una palabra en lugar de una etiqueta entera, y otros usos.

¿Cuáles son los inconvenientes de usar HTML? ¿Es más caro? ¿Y el formato no está garantizado en todos los JRE?

+1

¿Quién le dijo que era una mala práctica usar el estilo HTML en Swing? Me avergüenzo de ellos. Es fácilmente una de las mejores maneras de ofrecer renderizado extendido a muchos de los componentes Swing. Yo personalmente uso esta técnica cuando renderizo consejos de herramientas complejas, me permite mostrar tablas e imágenes, entre otras cosas – MadProgrammer

+0

Generalmente estoy de acuerdo con usted. Nadie me dijo que no debería usarlo, pero me siento un poco "sucio" – Redandwhite

Respuesta

5
  1. No, no es mala o buena práctica utilizar la sintaxis HTML en los JComponents oscilación

  2. Hoy, Java compatible con HTML 3.2 y no se reduce el apoyo a ciertos atributos CSS

  3. JTextPane y apoyo JEditorPane añadir y JComponents de posicionamiento utilizando la sintaxis HTML

+0

@Redandwhite No estoy seguro en este momento si los íconos de A * d * o * b * e no son ..., llámelo gratis para su uso y distri ****, tal vez estoy equivocado – mKorbel

2

Using <font> is bad incluso en html. Y usar objetos para personalizar el color de la fuente, el tamaño, etc. es mucho trabajo en grandes aplicaciones.

Afortunadamente, javaFX 2 está desactivado. Con él puede usar CSS para manejar este tipo de cosas: http://www.oracle.com/technetwork/java/javafx/documentation/index.html

+0

Estoy de acuerdo en que usar la etiqueta Font es malo cuando se produce HTML, pero considerando que solo tenemos soporte para HTML 3.2 y soporte CSS limitado, ¿qué opción tenemos? tener en este caso - si queremos usar Swing y no JavaFX – MadProgrammer

+0

Entonces recomiendo usar el objeto Font. Es más trabajo pero más fácil de reutilizar y mantener (es decir, cambiar la fuente de muchas etiquetas, botones, etc., con un solo toque). – baraber

+0

Si uso el objeto Font, es un poco pesado usarlo en una aplicación grande. Normalmente uso una combinación de los dos métodos. Sin embargo, si bien aborrezco el uso de al escribir HTML normal, no veo el problema cuando se usa en un caso de uso específico, donde la compatibilidad generalmente está garantizada. – Redandwhite

Cuestiones relacionadas