You’re not using a
LayoutManager of any kind. The
JButton will try to inherit the size of the parent container, as the default for a JFrame is
BorderLayout.CENTER). You could try using
However I don’t think this would be enough by itself. Call
getContentPane on the
Jframe, and set a layout on that contentPane container (I use
FlowLayout a lot, as it respects
setPreferredSize). Put your
JButton inside that.
This is always a good starting point:
As the methods that you can call on a UI element vary depending on what LayoutManager you’re assigning them to (be the child of). Sometimes it’s
setMinimumSize, sometimes it’s
setPreferredSize, and sometimes it’s a combination.