# Metal (Java Look and Feel) (メタル（Java ルック＆フィール）)

> 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.

- IndexStyle No.521 — https://indexstyle.org/styles/java-metal
- Kind: Style · Family: Platform Screen Languages · Era: 1998–
- Mood: Technology, Trust
- Color cues: #CCCCFF / #9999CC / #666699 (cues taken from reference works, not a fixed palette)

## Defining characteristics

- 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

## 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

## Composition recipe

- Typography & lettering: Run a single sans throughout and separate levels with weight and color only. Keep to two type sizes and leave headings undecorated.
- Layout & structure: 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.
- Material & texture: 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.

## What to avoid

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.

## Application checklist

Before calling a piece an application of this style, check it against the defining characteristics:

- [ ] 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
- [ ] At least one reference work below has been studied directly
- [ ] The caution above ("What to avoid") has been addressed

## Related styles

- **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. → https://indexstyle.org/styles/material-design
- **Luna (ルナ)** — Windows XP's look: blue taskbar, green Start button, rounded windows and a meadow wallpaper repainting the gray office machine as household optimism. → https://indexstyle.org/styles/luna

## Further study

- Oracle の Java チュートリアルに並ぶ Metal と Ocean の比較図
- DefaultMetalTheme と OceanTheme の色指定の違い
- SwingSet2 デモの画面で部品ごとの描かれ方を見る

## Reference works

- DavidL《Swing の Metal ルック＆フィール》2020年 — Wikimedia Commons / CC BY-SA 4.0 — https://commons.wikimedia.org/wiki/File:Java%20Swing%20LAF%20Metal%20on%20windows%20with%20border.png
- Apache Software Foundation《Apache JMeter 2.3.3 の画面》2009年 — Wikimedia Commons / CC BY-SA 3.0 — https://commons.wikimedia.org/wiki/File:Apache%20Jmeter%202.3.3.png
- Kateregga1《JOSM の設定画面》2018年 — Wikimedia Commons / CC BY-SA 4.0 — https://commons.wikimedia.org/wiki/File:JOSM%203.png

## Source of record

- Oracle — The Java Tutorials: How to Set the Look and Feel（Metal / Java L&F の定義） — https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

## Machine surfaces

- JSON: https://indexstyle.org/api/styles/java-metal
- Image-generation prompt (legally clean): https://indexstyle.org/styles/java-metal/prompt.txt
- MCP: https://indexstyle.org/mcp (tools: search_styles, get_style, compose_styles; prompts: image-prompt, apply-style)
