Simple GUI using tabs to separate application windows
Is using a constructor to pass a JPanel, and then adding elements in the new class considered bad coding?


Not necessarily. However, if you only create an instance of the other class just to do things in the constructor, then you don't need the new class - and in that case it is considered bad coding.

If that's all you do in the constructor, then move the code from the constructor to a method (which you can place more or less anywhere, but I'd recommend having it in the original class unless you feel that the original class gets too big).

private void createEntityTab(JPanel panel) {
   ...
   panel.add(...);
   ...
}


Actually, it might be even better to let this method return the JPanel, so that you can use this code:

createPane.addTab("Create Entity", null, createEntityTab());


And use the method:

private JPanel createEntityTab() {
   JPanel panel = new JPanel();
   panel.setLayout(null);
   ...
   panel.add(...);
   ...
   return panel;
}