Na o Anayami,é um extends sim…
sente só:
Monte um programa para cadastrar livros de uma livraria. Para esta tarefa utilize as classes disponíveis no moodle para gerar o sistema conforme os passos abaixo:
-
Crie no eclipse um pacote denominado avaliacao1E5Questao01 (sem ?ç? e sem ?~? e sem espaços em branco.);
-
Crie uma classe denominada Livro.java com os seguintes atributos (não esqueça dos métodos GET, SET e construtor com parâmetros:
private String titulo;
private String assunto;
private String autor;
private String paginas;
private String tipo; -
Copie do moodle as classes Mapa.java e TelaLivraria.Java (arquivo Questao01.zip)
-
Crie uma classe EstoqueLivros.java que seja uma herança de Mapa.
-
Implemente os métodos herdados na classe EstoqueLivros.Java.
-
Utilize a classe TelaLivraria.java como sua interface.
Obs.: A classe TelaLivraria.java está totalmente pronta, não é necessário fazer qualquer modificação. Esta tarefa consiste em trabalhar com as classes Livro.java e EstoqueLivros.java.
as classes que eu estou mandando já estao trabalhadas por mim…(tentativa e erro…rs),
class TeleLivraria:
package avaliacaoE5Questao01;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.JList;
public class TelaLivraria extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel lbTitulo = null;
private JLabel lbTituloLivro = null;
private JLabel lbAssunto = null;
private JLabel lbAutor = null;
private JLabel lbPaginas = null;
private JLabel lbTipo = null;
private JTextField txTituloLivro = null;
private JComboBox txComboAssunto = null;
private JTextField txAutor = null;
private JTextField txPaginas = null;
private JComboBox txComboTipo = null;
private JButton btIncluir = null;
private JButton btExcluir = null;
private JButton btImprimir = null;
private EstoqueLivros acervo = new EstoqueLivros(); // @jve:decl-index=0:
private JButton btLimpar = null;
private JList jlLivros = null;
private int keyFilme;
public int getKeyFilme() {
return keyFilme;
}
public void setKeyFilme(int keyFilme) {
this.keyFilme = keyFilme;
}
public EstoqueLivros getAcervo() {
return acervo;
}
public void setAcervo(EstoqueLivros acervo) {
this.acervo = acervo;
}
/**
* This method initializes txNomeFilme
*
* @return javax.swing.JTextField
*/
private JTextField getTxTituloLivro() {
if (txTituloLivro == null) {
txTituloLivro = new JTextField();
txTituloLivro.setBounds(new Rectangle(115, 60, 431, 26));
}
return txTituloLivro;
}
/**
* This method initializes txComboGenero
*
* @return javax.swing.JComboBox
*/
private JComboBox getTxComboAssunto() {
if (txComboAssunto == null) {
txComboAssunto = new JComboBox();
txComboAssunto.setBounds(new Rectangle(115, 95, 186, 26));
txComboAssunto.addItem("Artes");
txComboAssunto.addItem("Ciências");
txComboAssunto.addItem("Ciência da Computação");
txComboAssunto.addItem("Direito");
txComboAssunto.addItem("Estatística");
txComboAssunto.addItem("Ficção");
txComboAssunto.addItem("Filosofia");
txComboAssunto.addItem("Geografia");
txComboAssunto.addItem("História");
txComboAssunto.addItem("Línguas");
txComboAssunto.addItem("Literatura Infantil");
txComboAssunto.addItem("Lógica");
txComboAssunto.addItem("Matemática");
txComboAssunto.addItem("Religião");
}
return txComboAssunto;
}
/**
* This method initializes txAtorPrincipal
*
* @return javax.swing.JTextField
*/
private JTextField getTxAutor() {
if (txAutor == null) {
txAutor = new JTextField();
txAutor.setBounds(new Rectangle(115, 130, 431, 26));
}
return txAutor;
}
/**
* This method initializes txDuracao
*
* @return javax.swing.JTextField
*/
private JTextField getTxPaginas() {
if (txPaginas == null) {
txPaginas = new JTextField();
txPaginas.setBounds(new Rectangle(115, 165, 96, 26));
}
return txPaginas;
}
/**
* This method initializes txComboMidia
*
* @return javax.swing.JComboBox
*/
private JComboBox getTxComboTipo() {
if (txComboTipo == null) {
txComboTipo = new JComboBox();
txComboTipo.setBounds(new Rectangle(115, 200, 116, 26));
txComboTipo.addItem("DIDÁTICO");
txComboTipo.addItem("LITERATURA");
txComboTipo.addItem("TÉCNICO");
}
return txComboTipo;
}
/**
* This method initializes btIncluir
*
* @return javax.swing.JButton
*/
private JButton getBtIncluir() {
if (btIncluir == null) {
btIncluir = new JButton();
btIncluir.setBounds(new Rectangle(40, 240, 106, 31));
btIncluir.setText("Incluir");
btIncluir.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
//System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
Livro liv = new Livro( getTxTituloLivro().getText(),
getTxComboAssunto().getSelectedItem().toString(),
getTxAutor().getText(),
getTxPaginas().getText(),
getTxComboTipo().getSelectedItem().toString()
);
getAcervo().adicionar(liv);
montaJListaLivro(jlLivros);
limparCampos();
JOptionPane.showMessageDialog(null, "Filme incluído!");
}
});
}
return btIncluir;
}
/**
* This method initializes btExcluir
*
* @return javax.swing.JButton
*/
private JButton getBtExcluir() {
if (btExcluir == null) {
btExcluir = new JButton();
btExcluir.setBounds(new Rectangle(150, 240, 111, 31));
btExcluir.setText("Excluir");
btExcluir.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
getAcervo().excluir(getKeyFilme());
montaJListaLivro(jlLivros);
limparCampos();
JOptionPane.showMessageDialog(null, "Registro excluído com sucesso !!");
}
});
}
return btExcluir;
}
/**
* This method initializes btImprimir
*
* @return javax.swing.JButton
*/
private JButton getBtImprimir() {
if (btImprimir == null) {
btImprimir = new JButton();
btImprimir.setBounds(new Rectangle(385, 240, 116, 31));
btImprimir.setText("Imprimir");
btImprimir.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
//System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
getAcervo().imprimir();
JOptionPane.showMessageDialog(null, "Relatório impresso no console !");
}
});
}
return btImprimir;
}
/**
* This method initializes btLimpar
*
* @return javax.swing.JButton
*/
private JButton getBtLimpar() {
if (btLimpar == null) {
btLimpar = new JButton();
btLimpar.setBounds(new Rectangle(265, 240, 116, 31));
btLimpar.setText("Limpar");
btLimpar.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
limparCampos();
}
});
}
return btLimpar;
}
public JList montaJListaLivro(JList jlFilmes){
Set<String> filmes = new TreeSet<String>();
Set<Integer> listaDeChaves = getAcervo().estoque.keySet();
for (Iterator<Integer> it = listaDeChaves.iterator(); it.hasNext();) {
Integer chave = it.next();
Livro liv = getAcervo().estoque.get(chave);
filmes.add(chave + " - " +
liv.getTitulo() + " - " +
liv.getAssunto() + " - " +
liv.getAutor() + " - " +
liv.getPaginas() + " - " +
liv.getTipo()
);
}
jlFilmes.setListData(filmes.toArray());
return jlFilmes;
}
public void buscaLivro(int chave){
Livro liv = getAcervo().estoque.get(chave);
txTituloLivro.setText(liv.getTitulo());
txComboAssunto.setSelectedItem(liv.getAssunto());
txAutor.setText(liv.getAutor());
txPaginas.setText(liv.getPaginas());
txComboTipo.setSelectedItem(liv.getTipo());
}
public void limparCampos(){
getTxAutor().setText("");
getTxComboAssunto().setSelectedItem("Artes");
getTxPaginas().setText("");
getTxTituloLivro().setText("");
getTxComboTipo().setSelectedItem("DIDÁTICO");
}
/**
* This method initializes jlFilmes
*
* @return javax.swing.JList
*/
private JList getJlLivros() {
if (jlLivros == null) {
jlLivros = new JList();
jlLivros.setBounds(new Rectangle(5, 280, 541, 131));
jlLivros
.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent e) {
try {
String[] filSelecArray = jlLivros.getSelectedValue().toString().split(" - ");
setKeyFilme(Integer.parseInt(filSelecArray[0])); //recuperando a primeira parte da string (chave do filme)
buscaLivro(getKeyFilme());
}
catch (Exception e1){
}
}
});
montaJListaLivro(jlLivros);
}
return jlLivros;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TelaLivraria thisClass = new TelaLivraria();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public TelaLivraria() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(570, 458);
this.setContentPane(getJContentPane());
this.setTitle("Trabalho de AVALIAÇÃO da turma E5 - FACNET ANHANGÜERA - 2º semestre de 2008");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
lbTipo = new JLabel();
lbTipo.setBounds(new Rectangle(10, 200, 101, 26));
lbTipo.setText("Tipo:");
lbPaginas = new JLabel();
lbPaginas.setBounds(new Rectangle(10, 165, 101, 26));
lbPaginas.setText("Páginas");
lbAutor = new JLabel();
lbAutor.setBounds(new Rectangle(10, 130, 101, 26));
lbAutor.setText("Autor:");
lbAssunto = new JLabel();
lbAssunto.setBounds(new Rectangle(10, 95, 101, 26));
lbAssunto.setText("Assunto:");
lbTituloLivro = new JLabel();
lbTituloLivro.setBounds(new Rectangle(10, 60, 101, 26));
lbTituloLivro.setText("Título do Livro:");
lbTitulo = new JLabel();
lbTitulo.setBounds(new Rectangle(10, 10, 428, 36));
lbTitulo.setFont(new Font("Dialog", Font.BOLD, 24));
lbTitulo.setText("Livraria Estoque do Saber - Ltda");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(lbTitulo, null);
jContentPane.add(lbTituloLivro, null);
jContentPane.add(lbAssunto, null);
jContentPane.add(lbAutor, null);
jContentPane.add(lbPaginas, null);
jContentPane.add(lbTipo, null);
jContentPane.add(getTxTituloLivro(), null);
jContentPane.add(getTxComboAssunto(), null);
jContentPane.add(getTxAutor(), null);
jContentPane.add(getTxPaginas(), null);
jContentPane.add(getTxComboTipo(), null);
jContentPane.add(getBtIncluir(), null);
jContentPane.add(getBtExcluir(), null);
jContentPane.add(getBtImprimir(), null);
jContentPane.add(getBtLimpar(), null);
jContentPane.add(getJlLivros(), null);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="10,10"
classe Livro:
import java.util.Map;
public class Livro {
private String titulo;
private String assunto;
private String autor;
private String paginas;
private String tipo;
public Livro(String titulo, String assunto, String autor, String paginas, String tipo) {
super();
this.setTitulo(titulo);
this.setAssunto(assunto);
this.setAutor(autor);
this.setPaginas(paginas);
this.setTipo(tipo);
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getAssunto() {
return assunto;
}
public void setAssunto(String assunto) {
this.assunto = assunto;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public String getPaginas() {
return paginas;
}
public void setPaginas(String paginas) {
this.paginas = paginas;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
}
as outras duas classes já foram postadas.
suponho eu que o meu erro se encontra na classe EstoqueLivros…