Я попробовал ваш код, и он, кажется, работал нормально для меня, с небольшими изменениями. Может быть, панель сама изменяет размеры, а не textField. Попробуйте обернуть панель в другой JPanel, чтобы придать ей форму.
JPanel panel = new JPanel();
JPanel outerPanel = new JPanel();
panel.setLayout( new FlowLayout(FlowLayout.CENTER, 0, 0) );
panel.add(textField);
panel.add(button);
panel.setBackground( textField.getBackground() );
panel.setBorder( textField.getBorder() );
textField.setBorder(null);
outerPanel.add(panel);