¿Por qué una aplicación basada en Java en OS X tiene 2 diseños de interfaz de usuario diferentes?

1

Cito 2 imágenes de Google.

Mira las pestañas. Son totalmente diferentes. Acabo de finalizar la migración a OS X. Siempre creo que OS X proporciona una interfaz de usuario uniforme para hacer que sus aplicaciones sean más elegantes. Además, ¿Cómo convertir la IU de la aplicación en la segunda imagen para que se vea así en la primera imagen?

    
pregunta JACK M 06.05.2014 - 15:02

2 respuestas

3

El mismo código Java (en su mayoría) se ejecuta en todos los sistemas operativos / arquitecturas. Tiene varias APIs diferentes para dibujar formularios / ventanas. Algunas de estas API, por ejemplo. Swing le permite cambiar el aspecto y la sensación entre emular diferentes conjuntos de widgets. Por lo tanto, se puede escribir un programa para que le permita al usuario cambiar la apariencia.

La apariencia que se proporciona incluye OSX (como en la captura de pantalla superior) y Windows (varias formas) o Motif o GTK. La forma de configurar esto en Swing y para obtener más información, vea este documento de Oracle Tenga en cuenta que incluso La apariencia de OSX no coincide completamente con las pautas de Apple, por ejemplo posicionamiento del menú en la ventana y no en la parte superior de la pantalla.

Al igual que con cualquier sistema Windowing, siempre puede escribir programas que se comporten y se vean diferentes al estándar esperado. Sucede que para OSX, la mayoría de los desarrolladores se apegan a las pautas de Apple, pero incluso utilizando las API suministradas por Apple, puede tener una sensación diferente entre Carbon (originalmente Mac OS < = 9) y los programas Cocoa (originalmente NeXT). La AppStore le permite a Apple tener un poco más de control, pero no sé si las pautas de visualización de la reunión están realmente verificadas.

    
respondido por el Mark 06.05.2014 - 15:41
0

Java es simplemente el contenedor y el lenguaje elegido por el programador para describir cómo debe dibujarse una imagen. El uso de java significa que el desarrollador ignoró los elementos estándar de la interfaz OS X que Apple proporciona a los desarrolladores junto con los documentos de guía de la interfaz de usuario. Este ejemplo es precisamente el motivo por el que el código java se ve a menudo como un ciudadano de segunda clase entre las personas que esperan que el software de calidad de Apple se ejecute en su Mac.

Piensa en un restaurante. Las instrucciones para el personal podrían estar escritas en francés y los recipientes donde se entregan los alimentos se podrían doblar en cajas de papel recubiertas con cera en el exterior. Todavía no cambiaría lo que obtienes si una receta fuera para la comida del norte de Italia frente a la comida del norte de la India.

Java solo no proscribe el aspecto de un botón, solo la biblioteca y el código para dibujar la GUI y, en su ejemplo, se colocaron diferentes ingredientes en el mismo contenedor con los diferentes resultados esperados.

    
respondido por el bmike 06.05.2014 - 16:12

Lea otras preguntas en las etiquetas