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

10 respostas
B

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);

}

}

}

10 Respostas

G
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");
        }
    }
}

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? '-'

D

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?

B

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

E

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

D

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

Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.

E

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

Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.

na verdade eu esqueci da tag [ironic] rsrs

D

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

Não.
Desde a versão Europa que eu uso Eclipse e nunca foi permitido, salvo sob erro do programador.

na verdade eu esqueci da tag [ironic] rsrs

Opa, sem problemas.

V

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;
P

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();

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;};

}
A

E qual é o erro?

Criado 15 de agosto de 2012
Ultima resposta 21 de jan. de 2014
Respostas 10
Participantes 7