JLABEL EM javax.swing.JFrame

6 respostas
renanbarros

PESSOAL NAO ESTOU CONSEGUINDO ADICIONAR UM LABEL QUANDO CRIO UM javax.swing.JFrame

OLHA O CODIGo

public class z extends javax.swing.JFrame {
    
    /** Creates new form z */
    public z() {
        initComponents();
        JLabel z = new JLabel("tesssss");
        add(z);
    }

}

NO CONSTRUTOR EU CRIO O LABEL E COLOCO A STRING NELE
E ADICIONO ELE COM O ADD

MAS NAO ESTA FUNCIONANDO

QUANDO EU CRIO APENAS UM .JAVA

E COLOCO O MESMO CODIGO FUNCIONA

6 Respostas

ViniGodoy

Oi Renan.

Em primeiro lugar, não use letras maiúsculas, parece que você está gritando. :slight_smile:

Vamos lá. Que versão de java você está usando? Se for abaixo do Java 5, para inserir um label, você terá que usar o getContentPane().

getContentPane().add(z);

Fora esse problema, tem que ver qual LayoutManager está sendo utilizado. Por exemplo, se for um GridBagLayout, você teria que passar no add as gridbagconstraints. Se for um BorderLayout, você teria que passar em que posição (NORTH, SOUTH, EAST ou WEST) você estava afim de adicionar o componente.

Outra coisa, se seu frame já estiver visível, após o add, você tem que chamar um validate(). Caso contrário, o componente não será repintado e a label não aparecerá.

renanbarros

Vinicius ...

quanto as letras maiuculas ... estou gritando sim ,, to empacado numa parada aqui e esses pequenos probleminhas estao me atrapalhando ...

coloquei assim mas nao funcionou ainda
public z() {
        initComponents();
     
        JLabel z = new JLabel("tesssss");
        add(z);
        validate();
    }

quanto ao LayoutManager ,, como vou saber se estou crinado o layer na mao ???

E

Não entendi muito qual o problema, mas verifique:

public z() {
initComponents();

JLabel z = new JLabel("tesssss");
     add(z);
     setvisible(true);
 }
ViniGodoy

Tem como você anexar o código todo aqui?

Cara, não é no berro que a gente resolve as coisas… evite mesmo fazer isso, ok?

renanbarros
import javax.swing.JLabel;

/**
 *
 * @author  renan
 */
public class z extends javax.swing.JFrame {
    
    /** Creates new form z */
    public z() {
        initComponents();
     
        JLabel z = new JLabel("tesssss");
        add(z);
        validate();
      
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
        pack();
    }// </editor-fold>                        
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new z().setVisible(true);
            }
        });
    }
ViniGodoy

Renan, você está usando um GroupLayout. Fica meio difícil criar um layout na mão com ele. Tente usar um layout mais simples, como o flowlayout, borderlaoyout ou o gridlayout.

O método initComponents está criando esse layout manager para você.

Criado 8 de janeiro de 2007
Ultima resposta 8 de jan. de 2007
Respostas 6
Participantes 3