"Chamar" uma janela criada com VisualClass

2 respostas
S

Saudações pessoal!

Estou com uma pequeno problema.

Pretendo usar o VisualClass, no eclipse, para fazer um pequeno projeto. Fiz o código abaixo para teste, mas não consigo fazer esta janela rodar a partir da main().
Alguém teria uma dica?

import javax.swing.*;
import java.awt.*;

public class Teste {
	private JFrame frame1 = null;  //  @jve:decl-index=0:visual-constraint="153,12"
	private JPanel painel1 = null;
	private JLabel nome = null;
	private JLabel idade = null;
	private JTextField tNome = null;
	private JTextField tIdade = null;
	private JButton cadastra = null;
	/**
	 * This method initializes frame1	
	 * 	
	 * @return javax.swing.JFrame	
	 */
	private JFrame getFrame1() {
		if (frame1 == null) {
			frame1 = new JFrame();
			frame1.setSize(new Dimension(342, 274));
			frame1.setTitle("Teste");
			frame1.setContentPane(getPainel1());
		}
		return frame1;
	}
	/**
	 * This method initializes painel1	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getPainel1() {
		if (painel1 == null) {
			idade = new JLabel();
			idade.setBounds(new Rectangle(45, 61, 38, 16));
			idade.setText("Idade");
			nome = new JLabel();
			nome.setBounds(new Rectangle(45, 15, 38, 16));
			nome.setText("Nome");
			painel1 = new JPanel();
			painel1.setLayout(null);
			painel1.add(nome, null);
			painel1.add(idade, null);
			painel1.add(getTNome(), null);
			painel1.add(getTIdade(), null);
			painel1.add(getCadastra(), null);
		}
		return painel1;
	}
	/**
	 * This method initializes tNome	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTNome() {
		if (tNome == null) {
			tNome = new JTextField();
			tNome.setBounds(new Rectangle(106, 16, 124, 20));
		}
		return tNome;
	}
	/**
	 * This method initializes tIdade	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTIdade() {
		if (tIdade == null) {
			tIdade = new JTextField();
			tIdade.setBounds(new Rectangle(105, 61, 122, 20));
		}
		return tIdade;
	}
	/**
	 * This method initializes cadastra	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getCadastra() {
		if (cadastra == null) {
			cadastra = new JButton();
			cadastra.setBounds(new Rectangle(105, 151, 123, 34));
			cadastra.setText("Cadastrar");
		}
		return cadastra;
	}
}

A main() deveria ser assim, certo?

public class Exe { public static void main(String[] args) { new Teste(); } }

Mas não estou conseguindo.

2 Respostas

doug

Olá

Tenta adicionar a linha : teste.setVisible(true);
Acontece que se você não adiciona essa linha o java não exibe o JFrame. ok!!

public class Exe {   
    public static void main(String[] args) {   
        Teste teste = new Teste();   
        teste.setVisible(true);
    }   
}

Obs:. você pode colocar esse setVisible(true) dentro do seu construtor Teste(), dai sempre que você instanciar essa classe você já visualiza o JFrame.

Espero ter ajudado
Flwss

S

Obrigado por ter respondido thiago.filadelfo.

Eu já havia adicionado esta linha tornando a JFrame visível. Acontece que fazendo isto, abre apenas a janela e não aparece nenhum dos componentes (JLabel, JTextFild, JButton e etc…).

Além disso, como eu criei essa janela com o VisualClass, tb percebi que ele não cria um método contrutor da classe. E não sei quais componentes devo colocar dentro dele pra funcionar…

Criado 30 de outubro de 2009
Ultima resposta 31 de out. de 2009
Respostas 2
Participantes 2