Skip to content

Instantly share code, notes, and snippets.

@Sciss
Created February 17, 2012 01:48
Show Gist options
  • Save Sciss/1849720 to your computer and use it in GitHub Desktop.
Save Sciss/1849720 to your computer and use it in GitHub Desktop.
FunWithNimbusDefaults.scala
import javax.swing._
val nim = UIManager.getInstalledLookAndFeels.find(_.getName.contains("Nimbus")).get
UIManager.setLookAndFeel(nim.getClassName)
val f = new JFrame( "Test" )
val cp = f.getContentPane
class X extends JComponent { var fun: (java.awt.Graphics2D) => Unit = x => (); override def paintComponent( g: java.awt.Graphics ) { fun( g.asInstanceOf[ java.awt.Graphics2D ])}}
val x = new X
cp.add( x, java.awt.BorderLayout.CENTER )
f.setSize( 400, 400 )
f.setVisible( true )
val nimbus = UIManager.getLookAndFeel
val defaults = nimbus.getDefaults
val pnt3 = defaults.get("FormattedTextField[Enabled].borderPainter").asInstanceOf[com.sun.java.swing.Painter[JComponent]]
x.fun = pnt3.paint( _, x, x.getWidth, x.getHeight )
x.repaint()
val pnt4 = defaults.get("FormattedTextField[Focused].borderPainter").asInstanceOf[com.sun.java.swing.Painter[JComponent]]
x.fun = pnt4.paint( _, x, x.getWidth, x.getHeight )
x.repaint()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment