Problemas (java:160:illegal start of expression)

5 respostas
T

Amigos, veja a classe que estou fazendo:

import com.sun.media.sound.Toolkit;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.text.CollationElementIterator;
import javax.swing.Action;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

/* Autor: Gilberto B. Terra Jr.
 * TecladoVirtual.java
 * Criado em 7 de Julho de 2006, 00:08
 */

public class TecladoVirtual extends JApplet{

    public void init(){
        initComponents();
    }

    private void initComponents() {
        // ---------- CRIACAO DOS OBJETOS Swing. -----------
        JPanel jpanel1 = new JPanel();
        JPanel jpanel2 = new JPanel();
        JPanel jpanel3 = new JPanel();
        
        JLabel jlabel1 = new JLabel("Usu\u00e1rio:  ");
        JLabel jlabel2 = new JLabel("Senha.......: ");
        
        JTextField txtUsuario = new JTextField();
        JTextField txtSenha = new JPasswordField();
        
        JButton sair = new JButton("Fechar");
        JButton bt0 = new JButton("0");
        JButton bt1 = new JButton("1");
        JButton bt2 = new JButton("2");
        JButton bt3 = new JButton("3");
        JButton bt4 = new JButton("4");
        JButton bt5 = new JButton("5");
        JButton bt6 = new JButton("6");
        JButton bt7 = new JButton("7");
        JButton bt8 = new JButton("8");
        JButton bt9 = new JButton("9");
        
       
        //-------------- PROPRIEDADES DOS OBJETOS --------------- 
        jpanel1.setBackground(new Color(255,255,204));
        jpanel1.setPreferredSize(new Dimension(10,70));
        jpanel2.setLayout(GridLayout(2,2,0,5));
        jpanel2.setBackground(new Color(255,255,204));
        jpanel3.setBackground(new Color(255,255,255));
        jpanel3.setPreferredSize(new Dimension(10,40));
        sair.setBackground(Color(255,0,0));
        sair.setForeground(Color(255,255,255));
        txtSenha.setEditable(false);
        
        bt0.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt0ActionPerformed(e);
            } 
        });

        bt1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt1ActionPerformed(e);
            }
        });
        
        bt2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt2ActionPerformed(e);
            } 
        });
           
        bt3.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt3ActionPerformed(e);
            } 
        });
        
        bt4.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt4ActionPerformed(e);
            } 
        });
        
        bt5.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt5ActionPerformed(e);
            } 
        });
        
        bt6.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt6ActionPerformed(e);
            } 
        });
        
        bt7.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt7ActionPerformed(e);
            } 
        });
        
        bt8.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt8ActionPerformed(e);
            } 
        });
        
        bt9.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt9ActionPerformed(e);
            } 
        });
        
        sair.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                sairActionPerformed(e);
            }
        });
        
        
        // --------- ADICIONANDO ITENS AOS PAINEIS ------------
        jpanel1.add(bt0);
        jpanel1.add(bt1);
        jpanel1.add(bt2);
        jpanel1.add(bt3);
        jpanel1.add(bt4);
        jpanel1.add(bt5);
        jpanel1.add(bt6);
        jpanel1.add(bt7);
        jpanel1.add(bt8);
        jpanel1.add(bt9);
        jpanel2.add(jlabel1);
        jpanel2.add(jlabel2);
        jpanel2.add(txtUsuario);
        jpanel2.add(txtSenha);
        jpanel3.add(sair);
        
                
        getContentPane().add(jpanel1, BorderLayout.NORTH);
        getContentPane().add(jpanel2, BorderLayout.CENTER);
        getContentPane().add(jpanel3, BorderLayout.SOUTH);
        
        
        Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screensize.width-252)/2 , (screensize.height-187)/2 ,252,187);

        
        // ----------- METODOS DOS BOTOES ---------------
        private void bt0ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt1ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt2ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt3ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt4ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt5ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt6ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt7ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt8ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt9ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void sairActionPerformed(ActionEvent e){
            JOptionPane.showMessageDialog(null, "Mensagem Enviada.", "Applet Teclado Virtual.", JOptionPane.INFORMATION_MESSAGE);
        }
    }
}

Mas veja o erro que ele dá quando eu compilo:

C:\Terra\Developed\NetBeans_WEB\NetBeans_WEB\src\java\TecladoVirtual.java:160: illegal start of expression
        private void bt0ActionPerformed(ActionEvent event){
C:\Terra\Developed\NetBeans_WEB\NetBeans_WEB\src\java\TecladoVirtual.java:203: ';' expected
    }
2 errors

O que é isso?

5 Respostas

T

O erro não está na 160, mas uma linha antes (você fechou seu método initComponents ? :stuck_out_tongue: )

T

Então, seu eu fechar o método InitComponents() e deixar os métodos ActionPermormed de cada botao fora (o q é o ideal) ele fala que não reconhece o objeto txtSenha.

private void bt0ActionPerformed(ActionEvent event){ txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText()); }

T
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

/* Autor: Gilberto B. Terra Jr.
 * TecladoVirtual.java
 * Criado em 7 de Julho de 2006, 00:08
 */

public class TecladoVirtual extends JApplet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public void init() {
        initComponents();
    }

    // ---------- CRIACAO DOS OBJETOS Swing. -----------
    JPanel jpanel1 = new JPanel();

    JPanel jpanel2 = new JPanel();

    JPanel jpanel3 = new JPanel();

    JLabel jlabel1 = new JLabel("Usu\u00e1rio:  ");

    JLabel jlabel2 = new JLabel("Senha.......: ");

    JTextField txtUsuario = new JTextField();

    JTextField txtSenha = new JPasswordField();

    JButton sair = new JButton("Fechar");

    JButton bt0 = new JButton("0");

    JButton bt1 = new JButton("1");

    JButton bt2 = new JButton("2");

    JButton bt3 = new JButton("3");

    JButton bt4 = new JButton("4");

    JButton bt5 = new JButton("5");

    JButton bt6 = new JButton("6");

    JButton bt7 = new JButton("7");

    JButton bt8 = new JButton("8");

    JButton bt9 = new JButton("9");

    private void initComponents() {

        //-------------- PROPRIEDADES DOS OBJETOS ---------------
        jpanel1.setBackground(new Color(255, 255, 204));
        jpanel1.setPreferredSize(new Dimension(10, 70));
        jpanel2.setLayout(new GridLayout(2, 2, 0, 5));
        jpanel2.setBackground(new Color(255, 255, 204));
        jpanel3.setBackground(new Color(255, 255, 255));
        jpanel3.setPreferredSize(new Dimension(10, 40));
        sair.setBackground(new Color(255, 0, 0));
        sair.setForeground(new Color(255, 255, 255));
        txtSenha.setEditable(false);

        bt0.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt0ActionPerformed(e);
            }
        });

        bt1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt1ActionPerformed(e);
            }
        });

        bt2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt2ActionPerformed(e);
            }
        });

        bt3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt3ActionPerformed(e);
            }
        });

        bt4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt4ActionPerformed(e);
            }
        });

        bt5.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt5ActionPerformed(e);
            }
        });

        bt6.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt6ActionPerformed(e);
            }
        });

        bt7.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt7ActionPerformed(e);
            }
        });

        bt8.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt8ActionPerformed(e);
            }
        });

        bt9.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                bt9ActionPerformed(e);
            }
        });

        sair.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                sairActionPerformed(e);
            }
        });

        // --------- ADICIONANDO ITENS AOS PAINEIS ------------
        jpanel1.add(bt0);
        jpanel1.add(bt1);
        jpanel1.add(bt2);
        jpanel1.add(bt3);
        jpanel1.add(bt4);
        jpanel1.add(bt5);
        jpanel1.add(bt6);
        jpanel1.add(bt7);
        jpanel1.add(bt8);
        jpanel1.add(bt9);
        jpanel2.add(jlabel1);
        jpanel2.add(jlabel2);
        jpanel2.add(txtUsuario);
        jpanel2.add(txtSenha);
        jpanel3.add(sair);

        getContentPane().add(jpanel1, BorderLayout.NORTH);
        getContentPane().add(jpanel2, BorderLayout.CENTER);
        getContentPane().add(jpanel3, BorderLayout.SOUTH);

        Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screensize.width - 252) / 2, (screensize.height - 187) / 2, 252, 187);

    }

    // ----------- METODOS DOS BOTOES ---------------
    private void bt0ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt1ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt2ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt3ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt4ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt5ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt6ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt7ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt8ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void bt9ActionPerformed(ActionEvent event) {
        txtSenha.setText(txtSenha.getText() + ((JButton) event.getSource()).getText());
    }

    private void sairActionPerformed(ActionEvent e) {
        JOptionPane.showMessageDialog(null, "Mensagem Enviada.", "Applet Teclado Virtual.",
                JOptionPane.INFORMATION_MESSAGE);
    }
}
T

Agora eu vi a besteira que eu fiz. Além de incluir os métodos ActionPerformed de cada objeto(JButton) dentro do método InitComponents() eu estava iniciando eles dentro do mesmo.!!

Bom, vejam o código correto e funcionando.

import com.sun.media.sound.Toolkit;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.text.CollationElementIterator;
import javax.swing.Action;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

/* Autor: Gilberto B. Terra Jr.
 * TecladoVirtual.java
 * Criado em 7 de Julho de 2006, 00:08
 */

public class TecladoVirtual extends JApplet{
        private JButton sair;
        private JButton bt0;
        private JButton bt1;
        private JButton bt2;
        private JButton bt3;
        private JButton bt4;
        private JButton bt5;
        private JButton bt6;
        private JButton bt7;
        private JButton bt8;
        private JButton bt9;
        private JLabel jlabel1;
        private JLabel jlabel2;
        private JTextField txtUsuario;
        private JTextField txtSenha;
        JPanel jpanel1;
        JPanel jpanel2;
        JPanel jpanel3;

    public void init(){
        initComponents();
    }

    private void initComponents() {
        // ---------- CRIACAO DOS OBJETOS Swing. -----------
        jpanel1 = new JPanel();
        jpanel2 = new JPanel();
        jpanel3 = new JPanel();
        
        jlabel1 = new JLabel("Usu\u00e1rio:  ");
        jlabel2 = new JLabel("Senha.......: ");
        
        txtUsuario = new JTextField();
        txtSenha = new JPasswordField();
        
        sair = new JButton("Fechar");
        bt0 = new JButton("0");
        bt1 = new JButton("1");
        bt2 = new JButton("2");
        bt3 = new JButton("3");
        bt4 = new JButton("4");
        bt5 = new JButton("5");
        bt6 = new JButton("6");
        bt7 = new JButton("7");
        bt8 = new JButton("8");
        bt9 = new JButton("9");
        
        //-------------- PROPRIEDADES DOS OBJETOS --------------- 
        jpanel1.setBackground(new Color(255,255,204));
        jpanel1.setPreferredSize(new Dimension(10,70));
        
        jpanel2.setLayout(new GridLayout(2,2,0,5));
        jpanel2.setBackground(new Color(255,255,204));
        
        jpanel3.setBackground(new Color(255,255,255));
        jpanel3.setPreferredSize(new Dimension(10,40));
        
        sair.setBackground(new Color(255,0,0));
        sair.setForeground(new Color(255,255,255));
        txtSenha.setEditable(false);
        
        // -------------- Criando Listener aos botoes --------------
        bt0.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt0ActionPerformed(e);
            } 
        });

        bt1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt1ActionPerformed(e);
            }
        });
        
        bt2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt2ActionPerformed(e);
            } 
        });
           
        bt3.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt3ActionPerformed(e);
            } 
        });
        
        bt4.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt4ActionPerformed(e);
            } 
        });
        
        bt5.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt5ActionPerformed(e);
            } 
        });
        
        bt6.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt6ActionPerformed(e);
            } 
        });
        
        bt7.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt7ActionPerformed(e);
            } 
        });
        
        bt8.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt8ActionPerformed(e);
            } 
        });
        
        bt9.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                bt9ActionPerformed(e);
            } 
        });
        
        sair.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                sairActionPerformed(e);
            }
        });
        
        // --------- ADICIONANDO ITENS AOS PAINEIS ------------
        jpanel1.add(bt0);
        jpanel1.add(bt1);
        jpanel1.add(bt2);
        jpanel1.add(bt3);
        jpanel1.add(bt4);
        jpanel1.add(bt5);
        jpanel1.add(bt6);
        jpanel1.add(bt7);
        jpanel1.add(bt8);
        jpanel1.add(bt9);
        jpanel2.add(jlabel1);
        jpanel2.add(jlabel2);
        jpanel2.add(txtUsuario);
        jpanel2.add(txtSenha);
        jpanel3.add(sair);
                
        getContentPane().add(jpanel1, BorderLayout.NORTH);
        getContentPane().add(jpanel2, BorderLayout.CENTER);
        getContentPane().add(jpanel3, BorderLayout.SOUTH);
        
        Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screensize.width-252)/2 , (screensize.height-187)/2 ,252,187);
}
        // ----------- METODOS DOS BOTOES ---------------
        private void bt0ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt1ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt2ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt3ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt4ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt5ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt6ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt7ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt8ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void bt9ActionPerformed(ActionEvent event){
            txtSenha.setText(txtSenha.getText() + ((JButton)event.getSource()).getText());
        }
        
        private void sairActionPerformed(ActionEvent e){
            JOptionPane.showMessageDialog(null, "Mensagem Enviada.", "Applet Teclado Virtual.", JOptionPane.INFORMATION_MESSAGE);
        }
}

Sei que é uma porcaria encher o forum de códigos.!!!
Mas eu acho uma boa.!! Principalmente para os iniciantes como eu analisarem e estudarem API por API e a melhor prática e métodos de programação Java que são feitos por mais experiêntes… assim todos aprendemos bastante. Analisando o código.!!

R

Olá terra.jr !!!

Gostaria de tirar uma duvida, em sua aplicação existe a declaração de um JTextField que é instanciado como um JPasswordField, pq isso da certo?

A questão é que acabei implementando isso acidentalmente, eu gostaria que o campo de senha ficasse “maquiado” mais que não deixasse de ser uma String (já que o JPasswordField trabalha com char).

Se vc puder me explicar o pq e se isso trás alguma fragilidade para o projeto.

Agradeço a ajuda.

Rafael

Criado 7 de julho de 2006
Ultima resposta 16 de jan. de 2008
Respostas 5
Participantes 3