package Ġexample Ċ Ċ import Ġjava . awt .* Ġ// Ġk tl int - disable Ġno - wildcard - imports Ċ import Ġjavax . swing .* Ġ// Ġk tl int - disable Ġno - wildcard - imports Ċ import Ġjavax . swing . pl af . basic . Basic Tabbed Pane UI Ċ Ċ private Ġval ĠSELECT ED _ BG Ġ= ĠColor ( 2 5 5 , Ġ 1 5 0 , Ġ 0 ) Ċ private Ġval ĠUN SELECTED _ BG Ġ= ĠColor ( 2 5 5 , Ġ 5 0 , Ġ 0 ) Ċ Ċ fun Ġmake UI (): ĠComponent Ġ{ ĊĠ ĠUI Manager . put (" Tabbed Pane . tab Insets ", ĠIn sets ( 5 , Ġ 1 0 , Ġ 5 , Ġ 1 0 )) ĊĠ Ġ// ĠUI Manager . put (" Tabbed Pane . selected Tab Pad Insets ", Ġnew ĠIn sets ( 2 , Ġ 3 , Ġ 2 , Ġ 2 )) ĊĠ ĠUI Manager . put (" Tabbed Pane . content Border Insets ", ĠIn sets ( 5 , Ġ 5 , Ġ 5 , Ġ 5 )) ĊĠ ĠUI Manager . put (" Tabbed Pane . tab Area Insets ", ĠIn sets ( 0 , Ġ 0 , Ġ 0 , Ġ 0 )) ĊĊĠ ĠUI Manager . put (" Tabbed Pane . selected Label Shift ", Ġ 0 ) ĊĠ ĠUI Manager . put (" Tabbed Pane . label Shift ", Ġ 0 ) ĊĊĠ Ġ// ĠUI Manager . put (" Tabbed Pane . foreground ", ĠColor . WHITE ) ĊĠ Ġ// ĠUI Manager . put (" Tabbed Pane . selected Foreground ", ĠColor . WHITE ) ĊĠ Ġ// ĠUI Manager . put (" Tabbed Pane . un selected Background ", ĠUN SELECTED _ BG ) ĊĠ Ġ// ĠUI Manager . put (" Tabbed Pane . tab Area Background ", ĠUN SELECTED _ BG ) ĊĊĠ Ġval Ġtabs Ġ= Ġobject Ġ: ĠJ Tabbed Pane () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġupdate UI () Ġ{ ĊĠĠĠĠĠ Ġsuper . update UI () ĊĠĠĠĠĠ Ġset UI ( Flat Tabbed Pane UI ()) ĊĠĠĠĠĠ Ġis Opaque Ġ= Ġtrue ĊĠĠĠĠĠ Ġforeground Ġ= ĠColor . WHITE ĊĠĠĠĠĠ Ġbackground Ġ= ĠUN SELECTED _ BG ĊĠĠĠĠĠ Ġset Tab Placement ( Swing Constants . LEFT ) ĊĠĠĠĠĠ Ġtab Layout Policy Ġ= ĠSC ROLL _ TAB _ LAYOUT ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ// Ġ[ XP ĠStyle ĠIcons Ġ- ĠDownload ]( https :// xp - style - icons . en . soft onic . com /) ĊĠ Ġtabs . add Tab (" A ", ĠImage Icon ( tabs . java Class . getResource (" wi 0 0 0 9 - 3 2 . png ")), ĠJ ScrollPane ( J Tree ())) ĊĠ Ġtabs . add Tab (" B ", ĠImage Icon ( tabs . java Class . getResource (" wi 0 0 5 4 - 3 2 . png ")), ĠJ ScrollPane ( J TextArea ())) ĊĠ Ġtabs . add Tab (" C ", ĠImage Icon ( tabs . java Class . getResource (" wi 0 0 6 2 - 3 2 . png ")), ĠJ ScrollPane ( J Tree ())) ĊĠ Ġtabs . add Tab (" D ", ĠImage Icon ( tabs . java Class . getResource (" wi 0 0 6 3 - 3 2 . png ")), ĠJ ScrollPane ( J TextArea ())) ĊĊĠ Ġreturn ĠJPanel ( Border Layout ()). also Ġ{ ĊĠĠĠ Ġit . add ( tabs ) ĊĠĠĠ Ġit . preferred Size Ġ= ĠDimension ( 3 2 0 , Ġ 2 4 0 ) ĊĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠFlat Tabbed Pane UI Ġ: ĠBasic Tabbed Pane UI () Ġ{ ĊĠ Ġoverride Ġfun Ġpaint Focus Indicator ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġrect s : ĠArray < Rectangle >, ĊĠĠĠ Ġtab Index : ĠInt , ĊĠĠĠ Ġicon Rect : ĠRectangle ?, ĊĠĠĠ Ġtext Rect : ĠRectangle ?, ĊĠĠĠ Ġis Selected : ĠBoolean ĊĠ Ġ) Ġ{ Ġ/* ĠDo Ġnot Ġpaint Ġanything Ġ*/ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Tab Border ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġtab Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt , ĊĠĠĠ Ġis Selected : ĠBoolean ĊĠ Ġ) Ġ{ Ġ/* ĠDo Ġnot Ġpaint Ġanything Ġ*/ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Tab Background ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġtab Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt , ĊĠĠĠ Ġis Selected : ĠBoolean ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġg . color Ġ= Ġif Ġ( isSelected ) ĠSELECT ED _ BG Ġelse ĠUN SELECTED _ BG ĊĠĠĠ Ġg . fillRect ( x , Ġy , Ġw , Ġh ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Content Border Top Edge ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġselected Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġpaint Content Border ( g , Ġx , Ġy , Ġw , Ġh ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Content Border Right Edge ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġselected Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġpaint Content Border ( g , Ġx , Ġy , Ġw , Ġh ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Content Border Bottom Edge ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġselected Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġpaint Content Border ( g , Ġx , Ġy , Ġw , Ġh ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Content Border Left Edge ( ĊĠĠĠ Ġg : ĠGraphics , ĊĠĠĠ Ġtab Placement : ĠInt , ĊĠĠĠ Ġselected Index : ĠInt , ĊĠĠĠ Ġx : ĠInt , ĊĠĠĠ Ġy : ĠInt , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġpaint Content Border ( g , Ġx , Ġy , Ġw , Ġh ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġpaint Content Border ( g : ĠGraphics , Ġx : ĠInt , Ġy : ĠInt , Ġw : ĠInt , Ġh : ĠInt ) Ġ{ ĊĠĠĠ Ġg . color Ġ= ĠSELECT ED _ BG ĊĠĠĠ Ġg . fillRect ( x , Ġy , Ġw , Ġh ) ĊĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠ ĠEvent Queue . invoke Later Ġ{ ĊĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠ ĠUI Manager . set Look And Feel ( UI Manager . getSystem Look And Feel ClassName ()) ĊĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠ ĠToolkit . getDefault Toolkit (). be ep () ĊĠĠĠ Ġ} ĊĠĠĠ ĠJ Frame (). apply Ġ{ ĊĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠWindow Constants . EXIT _ ON _ CLOSE ĊĠĠĠĠĠ Ġcontent Pane . add ( make UI ()) ĊĠĠĠĠĠ Ġpack () ĊĠĠĠĠĠ Ġset Location Relative To ( null ) ĊĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ