Introdução a programação gráfica em Java com Swing

Assunto:

Você pode ler este tutorial na íntegra http://www.guj.com.br/java.tutorial.artigo.38.1.guj

Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!

Ola,

Gostei do tutorial, o comentário sobre java estar mais rápido, realmente é verdade mas ainda não da pra competir com c++ por exemplo. Bom, me parece que no jdk1.5 grandes melhoras estão por vir.

Outra coisa, nó método:

public void actionPerformed(ActionEvent event)
{
    if (textField.getText() != "") {
        listModel.addElement(textField.getText());
        getContentPane().invalidate();
        getContentPane().validate();
    }        
}

Não seria mais correto algo como:

public void actionPerformed(ActionEvent event)
{
    if (textField.getText().trim().length() > 0) {
        listModel.addElement(textField.getText());
        getContentPane().invalidate();
        getContentPane().validate();
    }        
}

Também acho que comparando com != não é muito bom, a não ser que vc chame intern(), não é !?

Bom, não tem nada a haver com swing mas como é um tutorial…

Isso ai.

[]'s

Hm, certo, vou arrumar isso

Rafael

Puxa tenho uma pergunta a fazer, sobre esse assunto existe diferença fazer um set em um SWING e AWT, porque eu fiz um formulario no Netbeans com componentes SWING e na hora de retornar valores eu não conseguir colocar no Jtextfield só que no momento que eu coloquei um textfield do AWT ele mostrou normalmente.

A linha de comando e esta que estou colocando.

Nome.setText(paciente.get_nome());

Falou.

Robson

Tipo chega um hora no tutorial que diz o seguinte!!

Geralmente é necessário verificar qual componente esta requisitanto processamento no momento, mas como no nosso caso só queremos saber do botão, nao fazemos tal verificação. Isso pode ser visto na parte de código

public void actionPerformed(ActionEvent event) { botao.setText(texto.getText()); }

Pois ehh…no meu caso saum varios botões que eu quero tratar… i ai como fazer???

Agradeço as respostas desde já!!!

Use o método getSource() da classe ActionEvent:

public void actionPerformed(AtionEvent event) { if (event.getSource() == botao1) { // executa acao referente ao botao1 } else if (event.getSource() == botao2) { // executa acao referente ao botao2 } }

É mais ou menos isso… :wink:

[]'s

Olá não seria ideal uma apostila ou um artigo usando o ‘queridinho da guj’ para desenvolvimento swing?

Um artigo ensinando como usar o eclipse com o plugin de desenvolvimento gráfico?

valeuz.

‘queridinho da guj’ (sic) ??? Que queridinho do GUJ?

o eclipse ué o que mais poderia ser?

Olá…

Sou novo por aqui, estou começando a estudar JAVA e tenho muitas dúvidas, estava lendo o tutorial e achei bem interessante. Copiei e analizei todos os exemplos, fiz algumas modificações para teste em algumas delas, para entender melhor o funcionamento.

No ultimo exemplo, eu percebi que o ActionPerformed é referenta apenas ao botao de adicionar, fiquei pensando como poderia colocar um botao a mais para excluir. Olhando o próprio fórum, tem uma pergunta (com uma resposta) que já explica isso.
Sendo assim, eu tentei fazer da seguinte maneira:

[code]public void actionPerformed(ActionEvent event) {
if (event.getSource() == botaoAdicionar) {
if (textField.getText() != “”) {
listModel.addElement(textField.getText());
getContentPane().invalidate();
getContentPane().validate();
}
// executa acao referente ao botao1
} else if (event.getSource() == botaoExcluir) {
if (textField.getText() != “”){
listModel.removeAllElements();
getContentPane().invalidate();
getContentPane().validate();
}

		   // executa acao referente ao botao2   
	   }   
	}[/code]

A questão é que não funcionou…

Gostaria de saber onde estou errando…
Eu adicionei um JButton com o nome botaoExcluir na lista de “variaveis”.

Acredito que o problema não esteja no código, mas na estrutura do if - else if.

Alguém pode me ajudar?

Valeu

Eu estou com uma dúvida cavernosa !! preciso de uma aplicação que leia uma sequencia de vetores, ai tipo eu fiz um campo de texto onde eu digito o vetor. Aí queria que ao apertar o botão ele lê-se um vetor de uma vez !! como que eu faço isso ?! o vetor possui 4 numeros do tipo double

Não está compilando o código da classe BoxLayoutTest.java

Já revisei e copiei o código na integra do criador do tutorial, mas não funcionou, retorna a seguinte mensagem…

C:\javac BoxLayoutTest.Java
error: Class names, ‘BoxLayoutTest.Java’, are only accepted if annotation proces
sing is explicitly requested
1 error

EDIT

O erro se dava por conta da ordem de importação do AWT e SWING, foi só inverter que resolveu. :wink:

Cara tenta assim:

botaoExcluir.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ ((DefaultListModel)(lista.getModel())).clear(); } } );

Aqui funcionou, limpa a lista inteira…
Até

Pretendo fazerum formulario para os recursos humanos dema determinada empresa, gostaria de saber que atributos adequados posso aplicar para /poder ter um formuladio adequado?[color=blue][/color][size=18][/size]