package com.boomlink.design;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTree;
import javax.swing.UIManager;

import org.jvnet.lafwidget.LafWidget;
import org.jvnet.lafwidget.utils.LafConstants.AnimationKind;
import org.jvnet.substance.SubstanceLookAndFeel;
import org.jvnet.substance.skin.OfficeSilver2007Skin;
/**
* 系统简单主界面
* @author 浪人
*/

public class MFrame{
   /**
    * JFrame
    */

  JFrame jf;
   /**
    * JPanel
    */

  JPanel jp;
   /**
    * JTabbedPane
    */

  JTabbedPane jtp;
   /**
    * JSplitPane
    */

  JSplitPane jsp;
   /**
    * JTree
    */

  JTree jtree;
   /**
    * 构造方法
    */

   public MFrame(){
    setlaf();
    build();
  }
   /**
    * 设置look and feel
    */

   public void setlaf(){
    JFrame.setDefaultLookAndFeelDecorated( true);
    UIManager.put(LafWidget.ANIMATION_KIND, AnimationKind.NONE);
    SubstanceLookAndFeel.setSkin( new OfficeSilver2007Skin());
  }
   /**
    * 构建JFrame内部元素
    */

   public void build(){
    jf = new JFrame();
    jp = new JPanel();
    jtp = new JTabbedPane();
    jsp = new JSplitPane();
    jtree = new JTree();
    jp.setLayout( new BorderLayout());
    jp.add(jtree);
     // 布置JSplitPane的内容
    jsp.setOneTouchExpandable( true);
    jsp.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
    jsp.setLeftComponent(jp);
    jsp.setRightComponent(jtp);
    jsp.setDividerSize(10);
    jsp.setDividerLocation(260);
    jf.add(jsp);
     // 布置JFrame的south为状态栏
    JPanel statusp = new JPanel();
    statusp.setLayout( new FlowLayout(FlowLayout.LEFT));
    statusp.add( new JLabel( "版权所有@浪人"));
    jf.add(statusp, "South");
  }
   /**
    * 布置并显示JFrame
    */

   public void show(){
    jf.setTitle( "浪人系统");
    jf.setSize(1024, 768);
    jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
     int screenWidth = (( int) java.awt.Toolkit.getDefaultToolkit()
        .getScreenSize().width);
     int screenHeight = (( int) java.awt.Toolkit.getDefaultToolkit()
        .getScreenSize().height);
    jf.setLocation((screenWidth - 800) / 2, (screenHeight - 600) / 2);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible( true);
  }
   /**
    * 入口方法
    * @param args String[]
    */

   public static void main(String[] args){
     new MFrame().show();
  }
}
 
界面截图见附件。