import java.awt.*;
import javax.swing.*;


public class Gui extends JFrame {
    private JMenuBar GuiJMenuBar = null;
    private JMenuItem item_exit = null;
    private JPanel JFrameContentPane = null;
    private JMenu menu_file = null;
    private BasicPanel tab_basic = null;
    private DownloadPanel tab_download = null;
    private HttpPanel tab_http = null;
    private JTabbedPane TabbedPane = null;
    private AcceptPanel tab_exclusions = null;
    /**
     * Constructor
     */
    public Gui() {
	super();
	initialize();
    }
    /**
     * Gui constructor comment.
     * @param title String
     */
    public Gui(String title) {
	super(title);
	initialize();
    }
    /**
     * Return the GuiJMenuBar property value.
     * @return JMenuBar
     */
    public JMenuBar getGuiJMenuBar() {
	if (GuiJMenuBar == null) {
	    GuiJMenuBar = new JMenuBar();
	    GuiJMenuBar.setName("GuiJMenuBar");
	    GuiJMenuBar.add(getmenu_file());
	}
	return GuiJMenuBar;
    }
    /**
     * Return the item_exit property value.
     * @return JMenuItem
     */
    public JMenuItem getitem_exit() {
	if (item_exit == null) {
	    item_exit = new JMenuItem();
	    item_exit.setName("item_exit");
	    item_exit.setText("Exit");
	}
	return item_exit;
    }
    /**
     * Return the JFrameContentPane property value.
     * @return JPanel
     */
    public JPanel getJFrameContentPane() {
	if (JFrameContentPane == null) {
	    JFrameContentPane = new JPanel();
	    JFrameContentPane.setName("JFrameContentPane");
	    JFrameContentPane.setLayout(new GridLayout());
	    getJFrameContentPane().add(getTabbedPane(), getTabbedPane().getName());
	}
	return JFrameContentPane;
    }
    /**
     * Return the menu_file property value.
     * @return JMenu
     */
    public JMenu getmenu_file() {
	if (menu_file == null) {
	    menu_file = new JMenu();
	    menu_file.setName("menu_file");
	    menu_file.setText("File");
	    menu_file.add(getitem_exit());
	}
	return menu_file;
    }
    /**
     * Return the tab_basic property value.
     * @return BasicPanel
     */
    public BasicPanel gettab_basic() {
	if (tab_basic == null) {
	    tab_basic = new BasicPanel();
	    tab_basic.setName("tab_basic");
	}
	return tab_basic;
    }
    /**
     * Return the tab_download property value.
     * @return DownloadPanel
     */
    public DownloadPanel gettab_download() {
	if (tab_download == null) {
	    tab_download = new DownloadPanel();
	    tab_download.setName("tab_download");
	}
	return tab_download;
    }
    /**
     * Return the tab_exclusions property value.
     * @return AcceptPanel
     */
    public AcceptPanel gettab_exclusions() {
	if (tab_exclusions == null) {
	    tab_exclusions = new AcceptPanel();
	    tab_exclusions.setName("tab_exclusions");
	}
	return tab_exclusions;
    }
    /**
     * Return the tab_http property value.
     * @return HttpPanel
     */
    public HttpPanel gettab_http() {
	if (tab_http == null) {
	    tab_http = new HttpPanel();
	    tab_http.setName("tab_http");
	}
	return tab_http;
    }
    /**
     * Return the TabbedPane property value.
     * @return JTabbedPane
     */
    public JTabbedPane getTabbedPane() {
	if (TabbedPane == null) {
	    TabbedPane = new JTabbedPane();
	    TabbedPane.setName("TabbedPane");
	    TabbedPane.insertTab("Basic Options", null, gettab_basic(), null, 0);
	    TabbedPane.insertTab("Download Options", null, gettab_download(), null, 1);
	    TabbedPane.insertTab("Http / FTP Options", null, gettab_http(), null, 2);
	    TabbedPane.insertTab("Exclusions", null, gettab_exclusions(), null, 3);
	}
	return TabbedPane;
    }
    /**
     * Initialize the class.
     */
    private void initialize() {
	setName("Gui");
	setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	setJMenuBar(getGuiJMenuBar());
	setBackground(SystemColor.inactiveCaptionBorder);
	setSize(550, 300);
	setTitle("KawaGet");
	setContentPane(getJFrameContentPane());

	getJFrameContentPane().add(getTabbedPane());
    }
    

    public static void main(String[] arg) {
	Gui theGui = new Gui() ;
	theGui.setVisible(true) ;
    }
}

