[RESOLVIDO] Meus jbuttons ocupam a tela inteira. Ja tentei colocar qualquer tipo de layout, optei pelo null, dei os setBounds, mas nada funciona. Uso o NetBeans!

package oriented_byobject

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Oriented_byObjects extends JFrame implements ActionListener {

//instanciamento dos JButtons
JButton b = new JButton("Correr");
 JButton b2 = new JButton("NÃO APERTA!");
    
   

   //actions dos JButtons
@Override
public void actionPerformed(ActionEvent e){
   if(e.getSource() == b){
   JOptionPane.showMessageDialog(null, "Você esta correndo");
   }else if(e.getSource() == b2){
   JOptionPane.showMessageDialog(null, "MORREU");
   }
   }

//Método construtor

public Oriented_byObjects(){

   //adicionando actionListener
   b.addActionListener(this);
    b2.addActionListener(this);
    
    //setBounds de cada JButton
    b2.setBounds(5, 70, 100, 60);
    b.setBounds(5, 5, 100, 60);
    
    //instanciando uma JFrame j
    JFrame j = new JFrame();
    
    //Configs da janela
    j.setSize(800, 600);
    j.setVisible(true);
   
    //adicionar os JButtons
    j.add(b);
    j.add(b2);

}
//método principal: main
public static void main(String[] args) {

    //Rodar os codigos anteriores
    new Oriented_byObjects();

}

}

É que você não criou um layout pra sua tela, simplesmente criou um JFrame e jogou o botão lá dentro. Há vários tipos de layout: grid, border, absolute, null…

http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/mais-swing-layout-managers-mais-componentes-e-detalhes/#8-1-gerenciadores-de-layout

Dá uma olhada nesse link, vc vai entender melhor, tem alguns exemplos nele.

Muito obrigado cara, ajudou muito. Adicionei à janela o FlowLayout, e os botões passaram a se comportar normalmente, mas não conseguia mudar o local e o tamanho dos botões, então coloquei Null à janela, não a cada botão então deu certo. :slight_smile:

1 curtida

Já que você usa o Netbeans, seria interessante criar os componentes gráficos ‘colocando-os no lugar’ através de um formulário. Assim você diminuiria o tempo gasto com interface e se preocuparia apenas com a parte ‘funcional’

1 curtida