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…
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.
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.