JButtons com ações

Eu estou estudando Java Orientado a Objetos a um tempo e já sei do básico,estou criando alguns apps e o ImageIcon me ajuda muito, algumas vezes preciso criar um JButton com uma ação,e essa ação é criar uma JFrame com o ImageIcon dentro dela,até aí tudo bem,mas quando vou adicionar alguma coisa a mais na minha JFrame,como um JButton,o JButton aparece(ocupando todo o espaço) e o ImageIcon some,tem algum maneira para os dois ficarem na mesma JFrame ou melhor,há algum outro método similar ao ImageIcon que possa me ajudar com isso?Obrigado

Depende, vc teria que estudar Layouts:

JFrame f = new JFrame();
Container root = f.getContentPane();
root.setLayout(new FlowLayout());
// root.setLayout(new GridLayout(3,1));
// root.setLayout(new GridLayout(1,3));
root.add(new JButton("Botao1"));
root.add(new JButton("Botao2"));
root.add(new JButton("Botao3"));
f.setVisible(true);