Inserir em jpanel

6 respostas
ken420

Pessoal to com uma duvida e um problema, vamos la … como fazer aparece em um jpanel vazio, informacoes nessa tela depois de eu clicar em um JButton, ex: a jpanel ta vazia so contem 1 botao, quando eu clicar nesse botao inserir 3 jlabel e 3jtextfields? na jpanel?
se ficar dificil para entender pode pg que responde obrigado pessoal! vlw!

6 Respostas

E

cara…sinceramente eu não entendi seu problema. vc quer adicionar componentes no JPanel através da ação de um botão? é isso?

ken420

isso, apos a ação do meu botao aparece os jlabels e jtextfield, e se o botao nao tiver ação a jpanel fica vazia contendo apenas o botao

ken420

algueim¿

hodrigohamalho

Fiz algo parecido com o que você quer, da uma olhada nesse código e tenta quebrar a cabeça com isso ai um pouco
se não conseguir ainda assim, posta ai, se conseguir posta ai tb.

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

// implemets ActionListener é responsavel pela ação dos butões
public class Sdsd extends JFrame implements ActionListener{
	Container c = new Container();
	JPanel painel = new JPanel();
	JButton mostrar = new JButton("Mostrar");
	// Método Construtor
	public Sdsd(){
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE); // Para realmente o aplicativo quando clicar em fechar.
		c = getContentPane();
		painel.add(mostrar);
		painel.setBackground(Color.white); // Seta a cor de fundo do painel pra branco
		painel.setLayout(new GridLayout(4,2));
		painel.setVisible(true);
		c.add(painel);
		// Adicionando ação pro butão
		mostrar.addActionListener(this);
		this.setSize(200,200);
		
	}
	
   public static void main(String [] args){
     Sdsd teste = new Sdsd();
     teste.show();
   }

@Override
public void actionPerformed(ActionEvent e) {
	setSize(201,201);
	if (e.getSource() == mostrar){
		painel.add(new JTextField("Exemplo 01"));
		painel.add(new JTextField("Exemplo 02"));
		painel.add(new JLabel("Exemplo 03"));	
		
	}
	
}  
}

Espero ter ajudado.

hodrigohamalho

http://java.sun.com/docs/books/tutorial/uiswing/examples/components/TablePrintDemoProject/src/components/TablePrintDemo.java

ken420

cara esse codigo que vc me passo concerteza é o que eu precisava so preciso fazer algumas alteracoes vlw mesmo porem fiquei com uma dúvida veja se vc pode me esclarecer

if (e.getSource() == mostrar){   
        painel.add(new JTextField("Exemplo 01"));   
        painel.add(new JTextField("Exemplo 02"));   
        painel.add(new JLabel("Exemplo 03"));     
           
    }

nessa condicao acima so nao entendi como vou inserir os componentes em um local desejado! no teu caso as JTextField ficaro uma em cima da outra certo? como insiro isso no local desejado setBounds?

Criado 18 de fevereiro de 2009
Ultima resposta 19 de fev. de 2009
Respostas 6
Participantes 3