JCheckBox não aparece

1 resposta
oitathi

Eu estou tentando adicionar um JCheckBox ao meu programa, mas ele não tah aparecendo. Alguém sabe o motivo?

check= new JCheckBox("Mostrar Historico",true);
check.setLocation(42,300);
check.setVisible(true);
add(check);

Obrigada

1 Resposta

Nicolas_Fernandes

oitathi:
Eu estou tentando adicionar um JCheckBox ao meu programa, mas ele não tah aparecendo. Alguém sabe o motivo?

check= new JCheckBox("Mostrar Historico",true);
check.setLocation(42,300);
check.setVisible(true);
add(check);

Obrigada

OBS: Que alguém me corriga, se eu estiver errado, por favor!

Olá, oitathi!
Bom, quando você usa o setLocation ou setBounds, você direciona para alguma posição específica da sua tela. Os JFrames, JDialogs e similares, por default, vêm com o seu container principal setado com o layout FlowLayout, não aceitando o posicionamento via XY. Vejo duas soluções aqui:

  1. Seta o layout do panel de conteúdo para NULL (como no código abaixo), e coloca o CheckBox em uma devida posição na tela. (Não muito recomendado, pois você pode ter problemas no redimensionamento da tela.)
public class MinhaJanela extends JFrame {
  
   public MinhaJanela() {
      
      setDefaultCloseOperation(JFRAME.EXIT_ON_CLOSE);
      setPreferredSize(new Dimension(800, 600));
      getContentPane().setLayout(null);

      JCheckBox check = new JCheckBox("Mostrar Histórico", true);
      check.setLocation(42, 300);
      getContentPane().add(check);
     
      setVisible(true);
   }
}
  1. Aprenda a mexer com os mais variados tipos de Layout. Eles te propiciarão reordenar os componentes da maneira que preferir na tela. Os layouts são a primícia de desenvolvimento em Swing, no Java. (Mais indicado!)
public class MinhaJanela extends JFrame {
  
   public MinhaJanela() {
      
      setDefaultCloseOperation(JFRAME.EXIT_ON_CLOSE);
      setPreferredSize(new Dimension(800, 600));

      JCheckBox check = new JCheckBox("Mostrar Histórico", true);
      getContentPane().add(check);

      pack();
      setVisible(true);
   }
}

Qualquer coisa, grite-nos aqui que ajudaremos! :smiley:

Espero ter ajudado!
Fique com Deus, e boa sorte!!

Criado 25 de agosto de 2010
Ultima resposta 26 de ago. de 2010
Respostas 1
Participantes 2