Plz me digam no que estou errando

Tenho uma classe de alunos e uma principal, na principal coloquei esse
codigo… mas isso ai na hora de compilar da 14 erros!..
no que eu estou errando?

		MouseListener verif = new MouseAdapter(){
			public void MouseClicked(MouseEvent e){
				alun.nome=nome.getText();
				alun.endereco=endereco.getText();
				alun.telefone=Integer.parseInt(telefone.getText());
				alun.idade=Integer.parseInt(idade.getText());
				alun.setIdade(alun.idade);
				alun.idFaze();
				Lresult.setText(alun.getIdade());
			}
		};
		verificar.addMouseListener(verif);

valeu!

Era mais fácil se postasses os erros de compilação que são gerados.

O erro pode estar aqui:

alun.nome=nome.getText(); 

E em todas as linhas semelhantes. Isto porque estás a referênciar o “nome” como objecto da classe aluno (ou atributo do objecto aluno) e ao mesmo tempo é um componente de texto, isso poderá eventualmente gerar algum conflito.

Uma sugestão é mudares o nome da variável nome:

alun.name=nome.getText();

mudei os nomes das variaveis…
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:75: local variable alun is accessed from within inner class; needs to be declared final
alun.name=nome.getText();
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:75: local variable nome is accessed from within inner class; needs to be declared final
alun.name=nome.getText();
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:76: local variable alun is accessed from within inner class; needs to be declared final
alun.end=endereco.getText();
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:76: local variable endereco is accessed from within inner class; needs to be declared final
alun.end=endereco.getText();
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:77: local variable alun is accessed from within inner class; needs to be declared final
alun.fone=Integer.parseInt(telefone.getText());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:77: local variable telefone is accessed from within inner class; needs to be declared final
alun.fone=Integer.parseInt(telefone.getText());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:78: local variable alun is accessed from within inner class; needs to be declared final
alun.id=Integer.parseInt(idade.getText());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:78: local variable idade is accessed from within inner class; needs to be declared final
alun.id=Integer.parseInt(idade.getText());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:79: local variable alun is accessed from within inner class; needs to be declared final
alun.setIdade(alun.id);
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:79: local variable alun is accessed from within inner class; needs to be declared final
alun.setIdade(alun.id);
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:80: local variable alun is accessed from within inner class; needs to be declared final
alun.idFaze();
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:81: local variable alun is accessed from within inner class; needs to be declared final
Lresult.setText(alun.getIdade());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:81: cannot find symbol
symbol : method getIdade()
location: class aluno
Lresult.setText(alun.getIdade());
^
C:\Documents and Settings\Mateus\Meus documentos\Programacao\JAVA\My Programs\alunoPri.java:81: local variable Lresult is accessed from within inner class; needs to be declared final
Lresult.setText(alun.getIdade());
^
14 errors

eita! quanto erro :roll:

Também já tive um erro semelhante e consegui resolver, não se sei explicar bem porque ocorre, posta o código e eu digo-te o que deves fazer.

Não é tanto erro, é um erro so. alun tem que ser final. Só isso.

final?
Minha logica provavelmente esta errada… iniciante é fogo :cry:

public class aluno {

	public String name="";
	public String end="";
	public int fone=0;
	public int id=0;
	public String result="";
	
    public void idFaze() {
    	if (id<12){
    		result="Criança";
    	}
    	if (id>=12 && id<18){
    		result="Adolescente";
    	}
    	if (id>=18){
    		result="Adulto";
    	}
    }
    
    public String getResult(){
    	return result;
    }
    
    public void setIdade(int id){
    	this.id=id;
    }
}

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

public class alunoPri extends JFrame{
	
	public alunoPri(){
		JTextField nome = new JTextField();
		JTextField endereco = new JTextField();
		JTextField telefone = new JTextField();
		JTextField idade = new JTextField();
		
		JLabel Lnome = new JLabel("Nome:");
		JLabel Lendereco = new JLabel("Endereço:");
		JLabel Ltelefone = new JLabel("Telefone:");
		JLabel Lidade = new JLabel("Idade:");
		JLabel Lresult = new JLabel("Classificação:");
		
		JButton verificar = new JButton("Verificar");
		JButton limpar = new JButton("Limpar:");
		
		setLayout(null);
		
		Lnome.setSize(60,20);
		Lnome.setLocation(5,5);
		getContentPane().add(Lnome);
		
		Lendereco.setSize(60,20);
		Lendereco.setLocation(5,25);
		getContentPane().add(Lendereco);
		
		Ltelefone.setSize(60,20);
		Ltelefone.setLocation(5,45);
		getContentPane().add(Ltelefone);
		
		Lidade.setSize(60,20);
		Lidade.setLocation(5,65);
		getContentPane().add(Lidade);
		
		nome.setSize(100,20);
		nome.setLocation(65,5);
		getContentPane().add(nome);
		
		endereco.setSize(100,20);
		endereco.setLocation(65,25);
		getContentPane().add(endereco);
		
		telefone.setSize(100,20);
		telefone.setLocation(65,45);
		getContentPane().add(telefone);
		
		idade.setSize(100,20);
		idade.setLocation(65,65);
		getContentPane().add(idade);
		
		verificar.setSize(160,20);
		verificar.setLocation(5,85);
		getContentPane().add(verificar);
		
		limpar.setSize(160,20);
		limpar.setLocation(5,105);
		getContentPane().add(limpar);
		
		Lresult.setSize(60,20);
		Lresult.setLocation(5,135);
		getContentPane().add(Lresult);
		
		//-------------------------------------------------
		
		aluno alun=new aluno();
		
		MouseListener verif = new MouseAdapter(){
			public void MouseClicked(MouseEvent e){
				alun.name=nome.getText();
				alun.end=endereco.getText();
				alun.fone=Integer.parseInt(telefone.getText());
				alun.id=Integer.parseInt(idade.getText());
				alun.setIdade(alun.id);
				alun.idFaze();
				Lresult.setText(alun.getIdade());
			}
		};
		verificar.addMouseListener(verif);
		
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		pack();
		setSize(640,480);
		setVisible(true);
	}

	
	public static void main(String args[]){
		new alunoPri();
	}
}

espero que possam me ajudar…
t+

Tive a analisar o código e encontrei várias anómalias na sua estrutura.

Corrigi parcialmente os erros, vê se percebes as minhas correções, se não perceberes avisa.

Ficheiro alunoPri.java

[code]import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class alunoPri extends JFrame{

static String var1,var2;
static int var3,var4;

public static aluno alun = new aluno();

 static JTextField nome = new JTextField();
  static JTextField endereco = new JTextField();
  static JTextField telefone = new JTextField();
  static JTextField idade = new JTextField();
  
 static  JLabel Lnome = new JLabel("Nome:");
  static JLabel Lendereco = new JLabel("EndereÁo:");
  static JLabel Ltelefone = new JLabel("Telefone:");
  static JLabel Lidade = new JLabel("Idade:");
  static JLabel Lresult = new JLabel("ClassificaÁ„o:");
  
 static  JButton verificar = new JButton("Verificar");
  static JButton limpar = new JButton("Limpar:");

 public alunoPri() {

  setLayout(null);
  
  Lnome.setSize(60,20);
  Lnome.setLocation(5,5);
  getContentPane().add(Lnome);
  
  Lendereco.setSize(60,20);
  Lendereco.setLocation(5,25);
  getContentPane().add(Lendereco);
  
  Ltelefone.setSize(60,20);
  Ltelefone.setLocation(5,45);
  getContentPane().add(Ltelefone);
  
  Lidade.setSize(60,20);
  Lidade.setLocation(5,65);
  getContentPane().add(Lidade);
  
  nome.setSize(100,20);
  nome.setLocation(65,5);
  getContentPane().add(nome);
  
  endereco.setSize(100,20);
  endereco.setLocation(65,25);
  getContentPane().add(endereco);
  
  telefone.setSize(100,20);
  telefone.setLocation(65,45);
  getContentPane().add(telefone);
  
  idade.setSize(100,20);
  idade.setLocation(65,65);
  getContentPane().add(idade);
  
  verificar.setSize(160,20);
  verificar.setLocation(5,85);
  getContentPane().add(verificar);
  
  limpar.setSize(160,20);
  limpar.setLocation(5,105);
  getContentPane().add(limpar);
  
  Lresult.setSize(60,20);
  Lresult.setLocation(5,135);
  getContentPane().add(Lresult);
  
  //-------------------------------------------------
  
  
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  pack();
  setSize(640,480);
  setVisible(true);

}

public static void main(String args[]){
new alunoPri();

MouseListener verif = new MouseAdapter(){
public void mouseClicked(MouseEvent e){
var1=nome.getText();
var2=endereco.getText();
var3=Integer.parseInt(telefone.getText());
var4=Integer.parseInt(idade.getText());
alun.setIdade(var4);
alun.idFaze();
String s =""+alun.getIdade();
Lresult.setText(s);
}
};
verificar.addMouseListener(verif);
}
}
[/code]

ficheiro aluno.java

[code]public class aluno {

public static String name="";
public static String end="";
public static int fone=0;
public static int id=0;
public static String result="";

public void idFaze() {
   if (id<12){
      result="Criança";
   }
   if (id>=12 && id<18){
      result="Adolescente";
   }
   if (id>=18){
      result="Adulto";
   }
}

public String getResult(){
   return result;
}

public void setIdade(int id){
   this.id=id;
}

public static int getIdade(){
return id;

}
}
[/code] Neste ficheiro faltava o método getIdade e as variáveis tinham de ser declaradas como static.

[quote=“Uchiha_Itachi”]final?
Minha logica provavelmente esta errada… iniciante é fogo :cry:


		
		//-------------------------------------------------
		
		final aluno alun=new aluno();  // <-- aqui
		
		MouseListener verif = new MouseAdapter(){
			public void MouseClicked(MouseEvent e){
				alun.name=nome.getText();
				alun.end=endereco.getText();
				alun.fone=Integer.parseInt(telefone.getText());
				alun.id=Integer.parseInt(idade.getText());
				alun.setIdade(alun.id);
				alun.idFaze();
				Lresult.setText(alun.getIdade());
			}
		};
		verificar.addMouseListener(verif);
		

[/quote]

A variável alun tem que ser declarada final para que ela possa ser usada dentro de uma inner class. é só colocar final atrás da declaração da variável.
como demonstrado na linha marcada com “<–aqui”

valeu!.. percei as mudanças, mas nao entendi o porque delas!.. :???:

De facto bastava colocar a palavra final atrás das variáveis que necessitassem. Não era preciso fazer as modificações que eu fiz, de qualquer forma resulta pelos dois lados :smiley: .