Metal (Java Look and Feel) vs Material Design
メタル(Java ルック&フィール) / マテリアルデザイン
Metal (Java Look and Feel) comes from Platform Screen Languages and Material Design from Google UI. Both are read here as style. They are reached for with some of the same intent, which is where they get confused.
Metal (Java Look and Feel)
Sun's default look and feel for Swing, built so that a program looks the same on every operating system. Metal was Sun's internal project name for it and stuck as the public one. Blue violet fills, thin straight borders, and a flat refusal to imitate the host platform are its signature.
Material Design
A design system that reduces the physical metaphor of paper and ink to rules of shadow and overlap. Elements are given elevation, shadow states the hierarchy, and motion carries physical cause and effect. It became the model for UI design being distributed as a system.
| Metal (Java Look and Feel) | Material Design | |
|---|---|---|
| Era | 1998– | 2014– |
| Family | Platform Screen Languages | Google UI |
| Kind | Style | Style |
| Cues | Internal window title bars laid as a deep blue violet band over a pale blue violet field / A fine texture of dots and diagonal ticks stamped into title bars and dividers / Rectangular buttons with no corner radius, ringed by a one pixel deep blue violet line / The host system draws the outer window frame while everything inside it follows a different visual language | Hierarchy and shadow expressed by elevation / Surfaces overlapping like sheets of paper / Motion that shows cause and effect / A standardized unit of spacing |
| Best used for | Flattening the differences between operating systems so an internally distributed desktop tool reads as one picture everywhere · Recreating the screen of a turn of the century business application for a document or an exhibit | Distributing consistent behavior across several platforms · Communicating the depth of a hierarchy visually |
| Type | Run a single sans throughout and separate levels with weight and color only. Keep to two type sizes and leave headings undecorated. | Build the hierarchy from one type family and separate levels by weight and size. |
| Composition | Fix four bands inside the window: menu, tool strip, work area, status strip. Leave the host window frame alone and paint only what is inside it. | Place elements on a grid of multiples of 8 and standardize the spacing. |
| Material | Combine three steps of blue violet, a pale field, a deep band, a darker border, with three steps of gray. Draw every boundary as a one pixel line and never blur it. | Give surfaces elevation and show front and back by the density of the shadow. |
| Caution | Since Java SE 5 the default theme has been Ocean, which drains most of the blue violet away, so building on the assumption that Metal means blue violet will not match what actually runs. | Do not add shadow as decoration. The moment the elevation rules break, the hierarchy is telling a lie. |



