Ajuda com Calculadora

Qual era o erro amigo,sem saber ninguém aprendera…

Agora mudando pra como o Wilton disse, são 7 erros.

C:\Java>javac calculadora.java
calculadora.java:20: illegal start of expression
public Calculadora() //construtor
^
calculadora.java:20: ‘;’ expected
public Calculadora() //construtor
^
calculadora.java:123: illegal start of expression
public void actionPerformed(ActionEvent e){}
^
calculadora.java:123: illegal start of expression
public void actionPerformed(ActionEvent e){}
^
calculadora.java:123: ‘;’ expected
public void actionPerformed(ActionEvent e){}
^
calculadora.java:123: ‘;’ expected
public void actionPerformed(ActionEvent e){}
^
calculadora.java:125: reached end of file while parsing
}
^
7 errors

Copie exatamente o que coloquei e salve o arquivo com o nome Calculadora.java , o "C"maiúsculo. Ele vai compilar sem erros, não pode faltar nenhuma chave.

Complementando os principais defeitos que concertei foi variáveis não declaradas, métodos com nome ou assinatura errados e o erro principal era faltava implementar o método public void actionPerformed(ActionEvent e) da interface ActionListener.

Aeeee, estamos evoluindo muito já…ela está compilando, mas na hora de executar aparece isso:

C:\Java>java Calculadora
Exception in thread “main” java.lang.NoClassDefFoundError: Calculadora (wrong na
me: forms_swing/Calculadora)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Calculadora. Program will exit.

Veja o package, a primeira linha de código, tire a linha inteira e tente compilar.

ok, o erro agora é esse:

C:\Java>java Calculadora
Exception in thread “main” java.lang.NoSuchMethodError: main

Cara, ta tudo errado ai hehehehehe dei uma corrigida básica, mas não vou fazer tudo tudo.

não tem metodo main, é isso que ele ta reclamando.

estavam errados o nomes das variaveis em varios pontos (prefixos dos nomes trocados bt_ por lb_)

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

public class Calculadora extends JFrame implements ActionListener

{

JLabel lb_titulo, lb_autor, lb_logo;
JButton bt_somar, bt_subtrair, bt_multiplicar, bt_dividir, bt_limpar, bt_sair;
JTextField tf_num1, tf_num2, tf_resultado;
ImageIcon imagem_logo;
JMenuBar barra_menu;
JMenu menu_calculadora;
JMenuItem mi_somar, mi_dividir, mi_subtrair, mi_multiplicar, mi_limpar, mi_sair;

public Calculadora() //Construtor

{

setTitle(“Calculadora do Ricardo”);
setSize(800,600); //Define tamanho em pixels, largura e altura
setLocation(75,75);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(true);

//getContentPane().setBackground(Color.red);

getContentPane().setBackground(new Color(100,120,50));

/*Gerenciador FlowLayout() Posiciona automaticamente os componentes na tela;
getContentPane().setLayout(new Flowlayout(FlowLayout.CENTER));

Gerenciador GridLayout
getContentPane().setLayout(new GridLayout(numero_de_linhas, numero_de_colunas));
getContentPane().setLayout(new GridLayout(2,5,10,10));

Gerenciador BorderLayout disponibiliza os componentes em 5 regioes diferentes;
getContentPane().setLayout(new BorderLayout(20,50));*/

getContentPane().setLayout(null); //Informa que nao vai usar Gerenciador

imagem_logo = new ImageIcon();

//labels

lb_titulo = new JLabel (“Calculadora da Luciana”);
lb_autor = new JLabel (“Ricardo Santos Bezerra”);
lb_logo = new JLabel (imagem_logo);

//botoes

bt_somar = new JButton(“Somar”);
bt_subtrair = new JButton(“Subtrair”);
bt_multiplicar = new JButton(“Multiplicar”);
bt_dividir = new JButton(“Dividir”);
bt_limpar = new JButton(“Limpar”);
bt_sair = new JButton(“Sair”);

//textfields

tf_num1 = new JTextField(10);
tf_num2 = new JTextField(10);
tf_resultado = new JTextField(20);

//menus

barra_menu = new JMenuBar();
setJMenuBar(barra_menu);
menu_calculadora = new JMenu(“Calculadora”);
barra_menu.add(menu_calculadora);

mi_somar = new JMenuItem(“Somar”);
mi_subtrair = new JMenuItem(“Subtrair”);
mi_multiplicar = new JMenuItem(“Multiplicar”);
mi_dividir = new JMenuItem(“Dividir”);
mi_limpar = new JMenuItem(“Limpar”);
mi_sair = new JMenuItem(“Sair”);

menu_calculadora.add(mi_somar);
menu_calculadora.add(mi_subtrair);
menu_calculadora.add(mi_multiplicar);
menu_calculadora.add(mi_dividir);
menu_calculadora.addSeparator();
menu_calculadora.add(mi_limpar);
menu_calculadora.addSeparator();
menu_calculadora.add(mi_sair);

//cores para os componentes

lb_titulo.setForeground(Color.black);
bt_sair.setBackground(Color.yellow);
lb_autor.setForeground(Color.cyan);

//tamanho das fontes

lb_titulo .setFont(new Font (“Arial”, Font.BOLD, 30));
lb_autor .setFont(new Font(“Courier”, Font.BOLD, 20));
bt_sair .setFont(new Font(“Arial”, Font.BOLD, 30));

//posicionamento de componentes na tela
//objeto.setBounds

lb_titulo .setBounds(50,250,700, 40);
lb_logo .setBounds(10,5,600, 100);
lb_autor .setBounds(200,100,200,70);
tf_num1.setBounds(100,100,50, 25);
tf_num2 .setBounds(100,140,50, 25);
bt_somar .setBounds(50,180,50, 30);
bt_subtrair .setBounds(170,250,700,40);
bt_multiplicar .setBounds(110,250,700,40);
bt_dividir .setBounds(230,250,700,40);
bt_limpar .setBounds(50,250,700,40);
bt_sair .setBounds(50,500,150, 50);

tf_resultado .setBounds(50,230,200, 30);

//AQUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

}
public void actionPerformed(ActionEvent e){}

public static void main(String[] args) {
Calculadora calculadora = new Calculadora();
calculadora.setVisible(true);
}

}[/code]

Agora onde tem um comentario aqui, vc deve adicionar seus componentes na tela tipo

this.add(bt_sair)

um a um para eles aparecerem ok?

beleza, lá no final o Calculadora.calculadora chamando construtor, o sistema disse q é sem ponto, tipo: Calculadora calculadora = new Calculadora(); mas agora de 2 erros, arrumando isso voltou a ter 1 erro…esse:

C:\Java>javac Calculadora.java
Calculadora.java:132: incompatible types
found : java.lang.String
required: Calculadora
Calculadora setVisible = “true”;
^
1 error

se eu apago essa linha: Calculadora.setVisible = (true); - compila e executa normalmente, mas obviamente não aparece nada, pq n tem o setVisible…acho q significa q essa linha sendo corrigida resolve.


new Calculadora().setVisible(true);

aeeeee…rodou…ficou horrível, mas rodou…hahaha…valeu.

ficou horrível foi ótimo rsrs… :wink:

Estranho… algumas das suas dúvidas são muito básicas. Sugiro que você volte a estudar o basicão de java antes de se aventurar no Swing.

Outra coisa, procure baixar uma IDE, como o eclipse ou o Netbeans. Ela te ajudará a corrigir erros de digitação. Como vc já saiu da fase de escrever programas para o console, essas IDEs serão uma mão na roda.

Finalmente, se for falar de erros no GUJ, procure dizer a mensagem, e não só dizer que “deu erro”, “deu mais 10 erros”, etc… tente também ler a mensagem, entende-la e, só se não conseguir corrigir, perguntar aqui. :wink:

Entendi, mas onde eu posso procurar tópicos de ajudas pra fazer os eventos dos botões dessa calculadora e como posso “embelezá-la”…pq tá mto feia tadinha…haah…obrigado. ah…e estou usando o GEdit…e estou fazendo um curso iniciante, mas quero ir vendo uns códigos mais avançados, pra não desanimar, só hello world é desanimador pra mim, mas tudo bem, entendi o recado.

Velho melhor amigo de programador é o Google (ou outro buscador qualquer)

Vai la e digita algo como java botão evento exemplo e vai kicando até achar a resposta

Pelo google vc vai achar muita coisa (e muitos links pro guj tbm, pq alguem ja teve sua duvida antes e ja ta respondida na net com certeza)

Mas no começo é dificil mesmo fazer as coisas sozinho, o conselho acho que é, busca antes, e se precisar pedir ajuda, cola o erro do compilador e o código fonte.

Espero ter ajudado

Dá uma olhada: http://www.guj.com.br/java/140986-como-acionar-os-bots-de-uma-calculadora-atrav-do-teclado

Valeu. Abraço.

Olha só Vini, na hora de compilar aparece o seguinte erro:

C:\Java>javac CalculadoraFrame.java
CalculadoraFrame.java:58: not a statement
returntxtVisor;
^
1 error

mas está feito do jeito certo, igual ao seu. O que pode estar errado?

Achei o erro. Valeu, tinha escrito sem espaço.