• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Blackie

Dúvida JAVA

10 mensagens neste tópico

Boa tarde,

Estou a aprender Interfaces Gráficas e já só tenho apenas um erro no exemplo que estou a fazer e que não consegui ainda resolver.

Coloco aqui a primeiras 5 ou 6 linhas do código, inclusive a linha onde dá erro.

package experiencias;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class AreaTexto extends JFrame{  // o erro está nesta linha

  JTextArea areaTexto;

 

  public AreaTexto(){

    super("Uso da classe JTextArea");

....

....

Se alguém puder ajudar, agradeço.

Blackie

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta fazer o import do JFrame... 

import javax.swing.JFrame;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta fazer o import do JFrame... 

import javax.swing.JFrame;

Eu também ainda sei pouco disto mas acho que talvez te falte declarar qualquer coisa!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tentas-te usar SWT ?

Eu também comecei com Swing mas depois de usar SWT já não quero outra coisa.

É muito mais leve que o Swing e bem mais simples de programar, pelo menos eu achei mais simples.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse código não tem erro algum, pelo menos que eu consiga detectar, apesar do erro aparecer nessa linha pode ser devido a uma chaveta mal fechada no fim de alguma função ou no fim do código.

Tenta colocar sempre o código todo. Muitas vezes os erros são dados por outras linhas diferentes das que o IDE e/ou compilador te mostram.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse código não tem erro algum, pelo menos que eu consiga detectar, apesar do erro aparecer nessa linha pode ser devido a uma chaveta mal fechada no fim de alguma função ou no fim do código.

Tenta colocar sempre o código todo. Muitas vezes os erros são dados por outras linhas diferentes das que o IDE e/ou compilador te mostram.

O erro diz:  class AreaTexto is public, should be declared in a file named AreaTexto.java

De qualquer todo ponho aqui todo o código e relembro a linha do erro:  public class AreaTexto extends JFrame{

package experiencias;

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


public class AreaTexto extends JFrame{
  JTextArea areaTexto;
  
  public AreaTexto(){
    super("Uso da classe JTextArea");

    Container tela = getContentPane();
    
    BorderLayout layout = new BorderLayout();
    tela.setLayout(layout);
    

    Tratar trat = new Tratar();
    
    JLabel rotulo = new JLabel("Seu comentário:");
    JButton btn = new JButton("Exibir!");
    btn.addActionListener(trat);
    
    areaTexto = new JTextArea(10, 20);
    
    JPanel pSuperior = new JPanel();
    pSuperior.setLayout(new FlowLayout(FlowLayout.LEFT));
    pSuperior.add(rotulo);
    
    JPanel pCentro = new JPanel();
    pCentro.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 0));
    pCentro.add(areaTexto);
    
    JPanel pInferior = new JPanel();
    pInferior.setLayout(new FlowLayout(FlowLayout.RIGHT));
    pInferior.add(btn);
    
    tela.add(BorderLayout.NORTH, pSuperior);
    tela.add(BorderLayout.CENTER, pCentro);
    tela.add(BorderLayout.SOUTH, pInferior);
    
    pack();
    setVisible(true);  
  }
  
  public static void main(String args[]){
    AreaTexto app = new AreaTexto();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  private class Tratar implements ActionListener{
  	public void actionPerformed(ActionEvent e){
  	  JOptionPane.showMessageDialog(null, areaTexto.getText());
  	}
  }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é outra coisa... já agora está a aprender Interfaces Gráficas ou a aprender Java?

Bem o erro é simples de resolver, basta que o nome do ficheiro seja igual ao nome da classe. Renomeia o ficheiro para o mesmo nome que a classe.

Em Java, uma classe tem de ter sempre o mesmo nome que o ficheiro onde está.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é outra coisa... já agora está a aprender Interfaces Gráficas ou a aprender Java?

Bem o erro é simples de resolver, basta que o nome do ficheiro seja igual ao nome da classe. Renomeia o ficheiro para o mesmo nome que a classe.

Em Java, uma classe tem de ter sempre o mesmo nome que o ficheiro onde está.

Já renomeei e está agora tudo OK.  Já agora, estou a prender as duas coisas, portanto, há ainda muitas coisas que falham.

Obrigado, um ab. e até à próxima.

Blackie

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pá pessoalmente aconselho-te a dominar bem a parte do funcionamento antes de passar para GUI e desenvolver alguns interfaces em shell também ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora