// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= DevFaqWindowsComponentHowTo
:jbake-type: wiki
:jbake-tags: wiki, devfaq, needsreview
:jbake-status: published
:keywords: Apache NetBeans wiki DevFaqWindowsComponentHowTo
:description: Apache NetBeans wiki DevFaqWindowsComponentHowTo
:toc: left
:toc-title:
:syntax: true

=== I want to show my own component(s) in the main window - where do I start?

Use File -> New File wizard, Module Development category and Window Component item. It will generate all necessary background code for you and open GUI Builder to design UI of your own component.

==== But what is behind the scenes, created by wizard?

* Subclass of link:DevFaqWindowsTopComponent.asciidoc[TopComponent] is created. Design it just as you would a JPanel.
* Simple subclass of `javax.swing.AbstractAction` in created and link:DevFaqActionAddMenuBar.asciidoc[added to main menu]. It's implemented it to open your component like follows:
[source,java]
----

public class MyAction extends AbstractAction {
   public MyAction() {
      putValue (Action.NAME, "Open My Component");
   }

   public void actionPerformed(ActionEvent ae) {
      new MyComponent().open();
   }
}
----

* Declarative XML descriptions of component are created following link:DevFaqWindowsWstcrefAndFriends.asciidoc[declarative XML API] principles.

TopComponents are part of the link:http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/doc-files/api.html[Windows API].

=== Apache Migration Information

The content in this page was kindly donated by Oracle Corp. to the
Apache Software Foundation.

This page was exported from link:http://wiki.netbeans.org/DevFaqWindowsComponentHowTo[http://wiki.netbeans.org/DevFaqWindowsComponentHowTo] , 
that was last modified by NetBeans user Marciowb 
on 2011-07-28T10:00:41Z.


*NOTE:* This document was automatically converted to the AsciiDoc format on 2018-02-07, and needs to be reviewed.
