You are not setting the layout of pane
the container that is accepting your GridBag components. You need to set its layout to GridBagLayout for the layout to work.
Specifically:
setLayout(new GridBagLayout()); // (A)
// ....
pane.add(btn_play_normal, gc); // (B)
// ...
pane.add(btn_play_ptr, gc); // (C)
You're adding your components to pane using GridBagConstraints, gc, in (B) and (C), but you appear to be setting the layout of the this
container (whatever it is) in (A), but not that of the pane
container.
A solution: set pane's layout:
pane.setLayout(new GridBagLayout());