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.
public class MyAction extends AbstractAction {
public MyAction() {
putValue (Action.NAME, "Open My Component");
}
public void actionPerformed(ActionEvent ae) {
new MyComponent().open();
}
}
TopComponents are part of the Windows API.