package de.javasoft.synthetica.democenter.examples.titledpanel;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.BoxLayout;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;

import org.jdesktop.swingx.JXTitledPanel;

/**
 * A simple TitledPanel application to demonstrate and explain  
 * basic functionality.
 */
@SuppressWarnings("serial")
public class SimpleTitledPanel extends JFrame
{
  public SimpleTitledPanel()
  {
    super("Simple TitledPanel");
    setLayout(new BorderLayout());

//@highlight
    /*JXTitledPanel leftPanel = new JXTitledPanel("Left TitledPanel");
    leftPanel.setBorder(new CompoundBorder(new EmptyBorder(5,5,5,5), leftPanel.getBorder()));    
    add(leftPanel, BorderLayout.WEST);*/
//@/highlight

    JPanel centerContent = new JPanel();
    centerContent.setLayout(new BoxLayout(centerContent, BoxLayout.PAGE_AXIS));
    centerContent.setBorder(new EmptyBorder(5,5,5,5));
    centerContent.add(new JLabel("Label 1"));
    centerContent.add(new JLabel("Label 2"));
        
//@highlight
    JXTitledPanel centerPanel = new JXTitledPanel("Center TitledPanel", centerContent);
    //centerPanel.setBorder(new CompoundBorder(new EmptyBorder(5,5,5,5), centerPanel.getBorder()));
    add(centerPanel, BorderLayout.CENTER);
    
    /*JXTitledPanel bottomPanel = new JXTitledPanel("Bottom TitledPanel");
    bottomPanel.setBorder(new CompoundBorder(new EmptyBorder(5,5,5,5), bottomPanel.getBorder()));
    add(bottomPanel, BorderLayout.SOUTH);*/    
//@/highlight

    ((JComponent)getContentPane()).setBorder(new EmptyBorder(5,5,5,5));
    //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setSize(640, 480);
    setLocationRelativeTo(null);        //center
    setVisible(true);
  }

  /**
   * Static main method for application startup. 
   */
  public static void main(String[] args)
  {
    EventQueue.invokeLater(new Runnable()
    {
      public void run()
      {
        try
        {
          UIManager.setLookAndFeel("de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel");
          new SimpleTitledPanel();
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
      }
    });
  }
}
