Ajuda com Calculadora

Galera, eu estou fazendo um programinha pra criar uma calculadora básica, mas não consigo compilar e muito menos executar…que que está faltando? No DOS eu vou lá e: javac Calculadora.java e dá que não encontra o arquivo, mas está salvo no diretório certo e tudo certo…acredito que falte alguma coisa no programa mesmo.

PS: Não sei colocar o programa do jeito que vocês pedem aqui, desculpem.

package forms_swing;
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_soma, 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 Form_Ricardo() //Construtor

{

setTitle("Calculadora do Ricardo");
setSize(800,600); //Define tamanho em pixels, largura e altura
setLocalization(75,75);
setDefaultCloseOperation(JFrame, EXIT_ON_CLOSE);
setResitable(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);
lb_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));
lb_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);
lb_num1		.setBounds(100,100,50, 25);
lb_num2		.setBounds(100,140,50, 25);
lb_somar	.setBounds(50,180,50,  30);
lb_subtrair	.setBounds(170,250,700,40);
lb_multiplicar	.setBounds(110,250,700,40);
lb_dividir	.setBounds(230,250,700,40);
lb_limpar	.setBounds(50,250,700,40);
lb_sair		.setBounds(50,500,150, 50);

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

}

}

Consegui compilar, mas dá "1’ erro: no: Form_Ricardo();

Sua classe chama calculadora (com “c” minusculo, o padrão é que classes tenham a primeira letra maiúscula, mas isso não da erro)

public class calculadora

Já o construtor diz que sua classe chama Form_Ricardo

public Form_Ricardo() //Construtor

Isso já da erro, o construtor deve ter o nome da classe.

Depois a classe deve ter o mesmo nome do arquivo

A classe Calculadora deve estar em um arquivo chamado Calculadora.java

Espero que isso ajude

seria enta:

public Calculadora(); ???

ou tipo: public Calculadora calculadora = new Calculadora(); ???

Valeu.

tentei mudar para os 2 jeitos e os dois dão erro…só que: public Calculadora(); …continua um erro só, do outro jeito ficam 22 erros.

Manda o erro

Calculadora.java:19 invalid method declaration; return type required
public Calculadora(); //Construtor
^
1 error

PS: o ^ está logo abaixo do “C” de Calculadora.

E ai pessoal, nada? Por favor.

vc mudou o nome da classe para “Calculadora” ?

o construtor e a classe devem ter o mesmo nome, então a classe deve estar mauscula também.

Ou tudo começa com maiusculo, ou com minusculo (não aconselhavel para nomes de classes) se for diferente da erro.

Oi,

Acho que já foi respondido mas…

O nome do metodo construtor tem que ser exatamento como o da classe,então o C maiuscula deveria ser minusculo c … Não é isso não? :roll:

então, mudei e tentei com maiúsculo e minúsculo, continua dando erro.

Devem ser erros novos manda como esta sua classe agora (Com o primeiro caracter do nome da classe em maiusculo)

Hum, olha só, eu estou com o jdk e javaSE, não sei se isso tem algo a ver, mas o tutorial que segui qdo fiz tinha algo dizendo que eram exemplos para celulares, daí talvez tivesse q ter instalado o micro edition, ou não tem nada à ver?

package forms_swing;
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_soma, 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;

//Construtor

public Calculadora(); 

{

setTitle("Calculadora do Ricardo");
setSize(800,600); //Define tamanho em pixels, largura e altura
setLocalization(75,75);
setDefaultCloseOperation(JFrame, EXIT_ON_CLOSE);
setResitable(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);
lb_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));
lb_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);
lb_num1		.setBounds(100,100,50, 25);
lb_num2		.setBounds(100,140,50, 25);
lb_somar	.setBounds(50,180,50,  30);
lb_subtrair	.setBounds(170,250,700,40);
lb_multiplicar	.setBounds(110,250,700,40);
lb_dividir	.setBounds(230,250,700,40);
lb_limpar	.setBounds(50,250,700,40);
lb_sair		.setBounds(50,500,150, 50);

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

}

}

continua o mesmo erro.

olha lá

public class calculadora extends JFrame implements ActionListener

tem que mudar para

public class Calculadora extends JFrame implements ActionListener

Então, fazendo isso agora aumentou para 21 erros. Mantém o mesmo erro e mais 20.

O metodo contrutor deve ficar apos a classe…

Exemplo…


public class calculadora extends JFrame implements ActionListener{



public calculadora(){//Construtor



JLabel lb_titulo, lb_autor, lb_logo;
JButton bt_soma, 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;

Segue a classe corrigida:

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

public class Calculadora extends JFrame implements ActionListener

{

JLabel lb_titulo, lb_autor, lb_logo, lb_sair,lb_num1,lb_num2,lb_somar,lb_subtrair,lb_multiplicar,lb_dividir,lb_limpar;
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);
lb_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));
lb_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);
lb_num1 .setBounds(100,100,50, 25);
lb_num2 .setBounds(100,140,50, 25);
lb_somar .setBounds(50,180,50, 30);
lb_subtrair .setBounds(170,250,700,40);
lb_multiplicar .setBounds(110,250,700,40);
lb_dividir .setBounds(230,250,700,40);
lb_limpar .setBounds(50,250,700,40);
lb_sair .setBounds(50,500,150, 50);

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

}
public void actionPerformed(ActionEvent e){}

}

Att,

Wilton.

Cola os erros aqui tbm