Erro de sintaxe "misplaced construct(s)" ao criar GUI

pessoal uso o eclipse juno no windows 7 e esta dando erro numa linha e nao sei oq e!Eu usava o eclipse indigo e mudei agora para esse!
Alguem pode me ajudar!!

import javax.swing.JButton;
import javax.swing.JFrame;

public class Gui {
public static void main(String[] args) {
JFrame frame = new JFrame();
JButton button = new JButton(“Clique Aqui”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(button);
frame.setSize(300, 300);
frame.setVisible(true);

public void change(){ //erro e aqui sintaxe erro on token “void”,@ expected //Syntax error on token(s), misplaced construct(s)
button.setText(“Botão clicado”);
}
}
}

[code]import javax.swing.JButton ;

import javax.swing.JFrame ;

public class Gui {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JButton button = new JButton("Clique Aqui");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(button);
        frame.setSize(300, 300);
        frame.setVisible(true); 

    

    public void change() { //erro e aqui sintaxe erro on token "void",@ expected //Syntax error on token(s), misplaced construct(s)	
        button.setText("Botão clicado");
    }
}

}[/code]

declara o metodo change fora do metodo main, e ele devera ser static tambem, e nao seria mais facil adicionar um ActionListener no seu bota? ‘-’

1 - Por que está gritando? LETRAS MAIÚSCULAS significam gritos.
2 - Por que não usa a tag [code]?
3 - Você colocou o método dentro do método main e quer que funcione?

obg funcionou!!
ainda estou iniciando nesta parte de gui!
ainda nao sei implementar bem estas acttionListiner

O analisador sintático do indigo permitia um método dentro de outro? :shock:
Ainda bem que atualizei pro juno então…

[quote=erico_kl]O analisador sintático do indigo permitia um método dentro de outro? :shock:
Ainda bem que atualizei pro juno então…[/quote]
Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.

[quote=drsmachado][quote=erico_kl]O analisador sintático do indigo permitia um método dentro de outro? :shock:
Ainda bem que atualizei pro juno então…[/quote]
Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.[/quote]
na verdade eu esqueci da tag [ironic] rsrs

[quote=erico_kl][quote=drsmachado][quote=erico_kl]O analisador sintático do indigo permitia um método dentro de outro? :shock:
Ainda bem que atualizei pro juno então…[/quote]
Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.[/quote]
na verdade eu esqueci da tag [ironic] rsrs[/quote]
Opa, sem problemas.

Por favor, ao criar tópicos:

  1. Não peça urgência;
  2. Não deixe o título em letras maiúsculas;
  3. Dê um título que descreva o problema específico que você está tendo;

Também estou com o mesmo problema.
O meu código é idêntico ao livro que estou lendo:

O problema começa no 2ª try, na função listar();

[code]package com.livro.capitulo3.crudjdbc;

import java.sql.;
import java.sql.Date;
import java.util.
;

public class ContatoCrudJDBC {

// MÉTODO SALVAR -------------------------------------------------

public void salvar (Contato contato){
	Connection conexao = this.gerarConexao();
	PreparedStatement insereSt = null;	
	
	
	String sql = "insert into contato(nome, telefone, email, dt_cad, obs) values(?, ?, ?, ?, ?)";
	try{
		insereSt = conexao.prepareStatement(sql);
		insereSt.setString(1, contato.getNome());
		insereSt.setString(2,contato.getTelefone());
		insereSt.setString(3,contato.getEmail());
		insereSt.setString(4,contato.getDataCadastro());
		insereSt.setString(5,contato.getObservacao());
		insereSt.executeUpdate();
		
	} catch(SQLException e){
		System.out.println("Erro ao incluir contato. mensagem:" + e.getMessage());
	}finally{
		try{
			insereSt.close();
			conexao.close();
			
		}catch(Throwable e){
			System.out.println("Erro ao fechar operações de inserção. Mensagem:" + e.getMessage());
			
		}
	}
};

public void atualizar(Contato conato){};
public void excluir(Contato contato){};


// MPETODO LISTAR -----------------------------------------------

public List<Contato> listar(){
	Connection conexao = this.gerarConexao();
	List<Contato> contatos = new ArrayList<Contato>();
	Statement consulta = null;
	ResultSet resultado = null;
	Contato contato =  null;
	
	String sql = "select * from contato";
	
	try{
		consulta = conexao.createStatement();
		resultado = consulta.executeQuery(sql);
		
		while(resultado.next()){
			contato = new Contato();
			contato.setCodigo(new Integer(resultado.getInt("codigo")));
			contato.setNome(resultado.getString("nome"));
			contato.setTelefone(resultado.getString("telefone"));
			contato.setEmail(resultado.getString("email"));
			contato.setDataCadastro(resultado.getDate("dt_cad"));
			contato.setObservacao(resultado.getString("obs"));
			
			contatos.add(contato);
			
		}
	}catch{
		System.out.println("Erro ao buscar código do contrato. mesagem:" + e.getMessage());
		
	}finally{
		try{
			consulta.close();
			resultado.close();
			conexao.close();
			
		}catch (Throwable e){
			System.out.println("Erro ao fechar operacoes de onsulta. messagem" + e.Menssage());
			
		}
	}

	
	return contatos;
};

// OUTROS MÉTODOS

public Contato buscaContato(int valor){
	return null;};

public Connection gerarConexao(){
	return null;};

}[/code]

E qual é o erro?