{"id":"java-metal","no":521,"name":"Metal (Java Look and Feel)","ja":"メタル（Java ルック＆フィール）","era":"1998–","family":"プラットフォームの画面言語","kind":"スタイル","collection":"Dictionary expansion 26","addedAt":"2026-08-19","source":{"title":"Oracle — The Java Tutorials: How to Set the Look and Feel（Metal / Java L&F の定義）","url":"https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html"},"reference":{"status":"verified","pageUrl":"https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html","credit":"Oracle — The Java Tutorials: How to Set the Look and Feel（Metal / Java L&F の定義）","gallery":[{"imageUrl":"https://commons.wikimedia.org/wiki/Special:FilePath/Java%20Swing%20LAF%20Metal%20on%20windows%20with%20border.png?width=640","pageUrl":"https://commons.wikimedia.org/wiki/File:Java%20Swing%20LAF%20Metal%20on%20windows%20with%20border.png","credit":"DavidL《Swing の Metal ルック＆フィール》2020年 — Wikimedia Commons / CC BY-SA 4.0"},{"imageUrl":"https://commons.wikimedia.org/wiki/Special:FilePath/Apache%20Jmeter%202.3.3.png?width=640","pageUrl":"https://commons.wikimedia.org/wiki/File:Apache%20Jmeter%202.3.3.png","credit":"Apache Software Foundation《Apache JMeter 2.3.3 の画面》2009年 — Wikimedia Commons / CC BY-SA 3.0"},{"imageUrl":"https://commons.wikimedia.org/wiki/Special:FilePath/JOSM%203.png?width=640","pageUrl":"https://commons.wikimedia.org/wiki/File:JOSM%203.png","credit":"Kateregga1《JOSM の設定画面》2018年 — Wikimedia Commons / CC BY-SA 4.0"}]},"essence":"SunがSwingの既定外観として作った、どのOSの上でも同じに見えることを狙った設計言語。Metal は社内の開発名がそのまま公称になったもので、青紫の面と1pxの直線の枠を持ち、端末側の様式を一切引き継がない。","cues":["薄い青紫の地に、濃い青紫の帯を敷いた内部ウィンドウのタイトルバー","タイトルバーや仕切りに刻まれた細かい点と斜線のテクスチャ","角丸を持たない矩形のボタンに、1pxの濃い青紫の線を回した枠","外側のOSの窓枠は端末のものなのに、その内側だけが別の様式で描かれている二重構造"],"intents":["技術","信頼"],"works":["OSごとの見た目の差を消して、社内に配るデスクトップ道具を1つの絵に揃えたいとき","2000年前後の業務用アプリの画面を、資料や展示のために再現するとき"],"recipe":{"type":"1つのサンセリフで通し、太字と色の違いだけで区切る。大きさの段は2段までに抑え、見出しに装飾を足さない。","layout":"窓の中をメニュー、道具帯、作業領域、状態帯の4段に固定する。OSの窓枠には手を出さず、内側だけを自前の様式で塗る。","material":"薄い青紫の面、濃い青紫の帯、さらに暗い青紫の縁という3段と、灰の3段を組み合わせる。境界はぼかさず1pxの線で引く。"},"avoid":"既定のテーマは Java SE 5 以降 Ocean に替わって青紫がほぼ消えるので、Metal といえば青紫だと決めて作ると、実際に動かした画面と食い違う。","colors":["#CCCCFF","#9999CC","#666699"],"motif":"graphic","pair":["material-design","luna"],"study":["Oracle の Java チュートリアルに並ぶ Metal と Ocean の比較図","DefaultMetalTheme と OceanTheme の色指定の違い","SwingSet2 デモの画面で部品ごとの描かれ方を見る"],"en":{"essence":"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.","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"],"works":["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"],"recipe":{"type":"Run a single sans throughout and separate levels with weight and color only. Keep to two type sizes and leave headings undecorated.","layout":"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":"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."},"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.","study":["Oracle の Java チュートリアルに並ぶ Metal と Ocean の比較図","DefaultMetalTheme と OceanTheme の色指定の違い","SwingSet2 デモの画面で部品ごとの描かれ方を見る"]}}