Skip to content

Instantly share code, notes, and snippets.

@WdWeaver
Created February 20, 2010 11:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save WdWeaver/309639 to your computer and use it in GitHub Desktop.
Save WdWeaver/309639 to your computer and use it in GitHub Desktop.
package wada3
import java.lang.Runnable
import java.awt.Font;
import javax.swing.{JFrame,JSplitPane,JTree,JPanel,JMenuBar,JMenu,JMenuItem,UIDefaults,UIManager}
import javax.swing.SwingUtilities._
import javax.swing.JFrame._
import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
import scala.collection.jcl._
import scala.collection.jcl.Conversions._
import scala.swing.{MenuItem}
class MyTheme(font:Font) extends NimbusLookAndFeel {
override def getDefaults : UIDefaults = {
val defaults=super.getDefaults
defaults++=(for((k,v) <- defaults if v.isInstanceOf[Font] ) yield (k,font))
defaults
}
}
class mainframe extends JFrame {
object menubar extends JMenuBar {
object filemenu extends JMenu("ファイル") {
object open extends MenuItem("開く")
add(open.peer)
}
object editmenu extends JMenu("編集")
object configmenu extends JMenu("設定")
object searchmenu extends JMenu("検索")
add(filemenu)
add(editmenu)
add(configmenu)
add(searchmenu)
}
object splitpane extends JSplitPane {
object lefttree extends JTree
object rightmain extends JPanel
setLeftComponent(lefttree)
setRightComponent(rightmain)
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
setJMenuBar(menubar)
setContentPane(splitpane)
setSize(640,480)
}
object client extends Application with Runnable {
def run = {
UIManager.setLookAndFeel(new MyTheme(new Font("mikachan",Font.BOLD,16)))
new mainframe().setVisible(true)
}
invokeLater(this);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment