Erro ao utilizar vetor de classes em Java

5 respostas
java
T

Boa tarde a todos,

tenho que fazer uma tela de cadastro de livros utilizando interface então pensei em fazer assim.

Criei uma classe Livro

public class Livro {
    public String nome;
    public String autor;
    public String resumo;
}

E também CadastroLivros onde tem o seguinte código
private Livro[] nome = new Livro[10];
public Livro[] cadastroNome(){
        for (int i = 0; i < 10; i++) {
            String doCampo = (txt1.getText());
            nome[i] = (txt1.getText());  <-- AQUI ESTÁ O ERRO
        }
        return nome;
    }

Segundo a mensagem que aparece, incompatível: ‘String não convertida em Livro’ e não faço ideia de como resolver, sou iniciante em programação e mais ainda em Java.

Tenho outra dúvida que é sobre o que preciso fazer no botão Cadastra na interface para que todos os valores digitados nos campos txt sejam colocadas em seus lugares (respectivos vetores).

5 Respostas

aresmaverick

Boa tarde Thiago,

Vamos lá, para o seu primeiro problema:

“Thiago_Medeiros:

‘String não convertida em Livro’

O que acontece é que você está pegando um mamão e tentando guardar ele numa caixa que só aceita chaves de fenda. Os dois itens são caras totalmente diferentes, e portanto o Java não consegue transformar uma mamão numa chave de fenda, no meu exemplo seria um ‘Mamão não convertida em Chave de fenda’.

Mas o seu livro, possui mais de um campo de String, e você pode sim, referenciar esse cara no seu array. Então se o seu método:

“Thiago_Medeiros:

txt1.getText()

Devolve o nome do livro, você poderia fazer:
nome[i].nome = txt1.getText();

Quanto a parte de uso de Interface (que acredito ser Interface gráfica), fica difícil de ajudar sem código.

T

Nossa, que simples, muito obrigado pela ajuda e parabéns pela explicação, essa parte já deu certo.

Quanto a parte da interface grafica, eu não teria como te mandar o código pq sou novo nisso tudo e meu curso é meio que ‘toma se vira ai’. Se vc pudesse me dar ao menos um dica do que e como procurar para saber mais sobre já é de grande ajuda.
Ate então eu simplesmente coloquei o botão no lugar dele e não faço ideia de como criar esse evento para que ele armazene por exemplo o que será digitado em txt1.getText() e coloque dentro do vetor. Ainda preciso descobri como fazer o botão ‘Cadastra’ salvar tudo que a nos campos.

aresmaverick

Então Thiago,

É preciso entender no que você esta desenvolvendo. Está usando Swing ou JavaFX?

T

Swing, eu estou ‘tentando’ criar uma interface gráfica para um sistema onde é cadastrado livros contendo autor, titulo e resumo e devem ser salvos em um arquivo no computador. Posteriormente terei que acrescentar uma busca no arquivo para procurar um determinado livro por autor/titulo.

TalonNoxus

Já que é Swing, no youtube tem um canal chamado Samuelson Brito que contém 17 videos sobre interface gráfica, cada vídeo deixando a aplicação mais complexa, porém o método utilizado é o “drag and drop” que é nada menos do que clicar e arrastar os componentes, e eu acho que no seu curso você está montando o código no dedo, mas é bom para ter uma ideia mesmo assim.

Criado 21 de setembro de 2016
Ultima resposta 22 de set. de 2016
Respostas 5
Participantes 3