JLABEL EM javax.swing.JFrame

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

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á.

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[code]
public z() {
initComponents();

    JLabel z = new JLabel("tesssss");
    add(z);
    validate();
}

[/code]

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

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

public z() {
initComponents();

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

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?

[code]

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.
      */
      //
      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();
      }//

    /**

    • @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);
      }
      });
      }
      [/code]

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ê.