Erro em compilar

9 respostas
M

Gostaria de saber onde estou errando pois compilei meu programa e ele esta dando erro.

Exception in thread “main” java.lang.NoClassDefFoundError: Escrever.

Será que a classe que extendi é erada?

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;

public class Escrever extends JPanel {

public static void main(String[] args) {

JFrame f = new JFrame("Escrever");
  f.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent we) { System.exit(0); }
     });
  
   f.setSize(200,200);
   f.setLocation(200,200);
   f.setVisible(true);
final JTextField field = new JTextField();

final JTextField field1 = new JTextField();

final JTextField field2 = new JTextField();
JLabel label1 = new JLabel(Nome);

JLabel label2 = new JLabel(End);

JLabel label3 = new JLabel(e-mail);
Container content = f.getContentPane();

content.setLayout(new GridLayout(3,3));

content.add(label1);

content.add(label2);

content.add(label3);

content.add(field);

content.add(field1);

content.add(field2);
JButton button = new JButton(Escrever);

JPanel painel = new JPanel();

painel.add(button);
button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println(field.getText() + 

');

System.out.println(field1.getText() + 

');

System.out.println(field2.getText() + 

');
}
  });

}

}

utilizo o sdk1.3.1_03

obrigado.

9 Respostas

TaQ

Uma coisa que vi ali é você usando:

System.out.println(field.getText() + ‘’);

Quando seria correto você utilizar algo do tipo:

System.out.println(field.getText() + “”);

Na linha que você colocou você tenta juntar uma String com um char, dependendo do seu compilador ele vai chiar de uma maneira ou outra.

N

De qual classe o compilador está reclamando ?

Envia a exceção pra gente dar uma olhadinha.

:shock:

M

Desculpe agora que eu vi, mais o ’ ’ estava um comando de carro new line n, pois acho quando copiei ele jogou o parenteses para baixo.

“TaQ”:
Uma coisa que vi ali é você usando:

System.out.println(field.getText() + ‘’);

Quando seria correto você utilizar algo do tipo:

System.out.println(field.getText() + “”);

Na linha que você colocou você tenta juntar uma String com um char, dependendo do seu compilador ele vai chiar de uma maneira ou outra.

M

Ele está reclamando da propria classe que eu criei que no caso seria Escrever, tenho duvida, pois mexendo um pouco no codigo, lembrei que tinha tentado instalar o sdk1.4 e nisso mais nenhum programa funcionou corretamente. Acho que vou desistalar o sdk1.3.
vou continuar tentando mexer caso eu vou retirar o compilador.

obrigado.

“net_sandro”:
De qual classe o compilador está reclamando ?

Envia a exceção pra gente dar uma olhadinha.

:shock:

N

Marcos,

Se a sua classe está compilando esse torna-se o clássico erro do classpath.

Abre um prompt e digita:

set CLASSPATH=.;%CLASSPATH%

E executa a tua classe no mesmo prompt, tem que funcionar.

TaQ

Ou também:

Linux:
java -cp .: Escrever

windows:
java -cp .; Escrever

M

Nossa, obrigado. Funcionou, mais desculpa perguntar eu costumo salvar meus arquivos .java na pasta bin, daí costumo compilar e executar na mesma pasta, esse comando CLASSPATH diria pro interpretador do java que meu arquivo .class esta na pasta bin, seria isso?

valeu Sandro,
Obrigado.

“net_sandro”:
Marcos,

Se a sua classe está compilando esse torna-se o clássico erro do classpath.

Abre um prompt e digita:

set CLASSPATH=.;%CLASSPATH%

E executa a tua classe no mesmo prompt, tem que funcionar.

M

Esse comando tambem deu certo, obrigado.

“TaQ”:
Ou também:

Linux:
java -cp .: Escrever

windows:
java -cp .; Escrever

N

“marcos marchetti”:
… esse comando CLASSPATH diria pro interpretador do java que meu arquivo .class esta na pasta bin, seria isso?

Neste caso particular sim, mas como as classes costumam se organizar em packages, o correto seria dizer que a JVM procura por classes dentro de packages a partir de diretórios/bibliotecas que estao listadas no CLASSPATH, que é uma variável de ambiente e não um comando.

Para nao ter que ficar repetindo esse comando toda vez, altera a sua variável de ambiente CLASSPATH definitivamente para incluir o diretório corrente, ou seja, o “.”.

Falow

Criado 30 de julho de 2003
Ultima resposta 1 de ago. de 2003
Respostas 9
Participantes 3