Echoing what everyone else has said about Netbeans. It has been wonderful to me for wiring up forms, but after that hand coding has been the way I go thereafter. I typically structure my classes as follows:
public class MyPanel extends javax.swing.JPanel
{
public MyPanel(...)
{
initComponents();
build();
initListeners();
}
}
where initComponents() is the autogenerated layout from NetBeans. Then I add any additional components in my build() which I want to either hand code or set default params that I didn't want to do in the form designer, and then add my listeners in another hand coded method, initListeners(). That way even I'm not stuck in Netbeans, when I move away from it for further development (which I do in Eclipse). The downside is that I have two IDEs.