[Duvida] QuizCard

Estou estudando o livro use a cabeça java e me deparei com um erro em um código:

[code]import java.util.;
import java.awt.event.
;
import javax.swing.;
import java.awt.
;
import java.io.*;

public class QuizCardBuilder{
private JTextArea question;
private JTextArea answer;
private ArrayList cardList;
private JFrame frame;

public static void main(String[] args){
QuizCardBuilder builder = new QuizCardBuilder();
builder.go();
}

public void go(){
frame = new JFrame(“Quiz Card Builder”);
JPanel mainPanel = new JPanel();
Font bigFont = new Font(“sanserif”, Font.BOLD, 24);
question = new JTextArea(6,20);
question.setLineWrap(true);
question.setWrapStyleWord(true);
question.setFont(bigFont);
JScrollPane qScroller = new JScrollPane(question);
qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

answer = new JTextArea(6,20);
answer.setLineWrap(true);
answer.setWrapStyleWord(true);
answer.setFont(bigFont);

JScrollPane aScroller = new JScrollPane(answer);
aScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
aScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

JButton nextButton = new JButton(“Next card”);
cardList = new ArrayList();

JLabel qLabel = new JLabel(“Question:”);
JLabel aLabel = new JLabel(“Answer”);

mainPanel.add(qLabel);
mainPanel.add(qScroller);
mainPanel.add(aLabel);
mainPanel.add(aScroller);
mainPanel.add(nextButton);
nextButton.addActionListener(new NextCardListener());
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu(“File”);
JMenuItem newMenuItem = new JMenuItem(“New”);
JMenuItem saveMenuItem = new JMenuItem(“Save”);
newMenuItem.addActionListener(new NewMenuListener());
saveMenuItem.addActionListener(new SaveMenuListener());
fileMenu.add(newMenuItem);
fileMenu.add(saveMenuItem);
menuBar.add(fileMenu);
frame.setJMenuBar(menuBar);
frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
frame.setSize(500, 600);
frame.setVisible(true);
}
public class NextCardListener implements ActionListener{
public void actionPerformed(ActionEvent ev){
QuizCard card = new QuizCard(question.getText(), answer.getText());
cardList.add(card);
clearCard();

}
}

public class SaveMenuListener implements ActionListener{
public void actionPerformed(ActionEvent ev){
QuizCard card = new QuizCard(question.getText(), answer.getText());
cardList.add(card);

JFileChooser fileSave = new JFileChooser();
fileSave.showSaveDialog(frame);
saveFile(fileSave.getSelectedFile());
}
}

public class NewMenuListener implements ActionListener{
public void actionPerformed(ActionEvent ev){
cardList.clear();
clearCard();
}
}
private void clearCard(){
question.setText("");
answer.setText("");
question.requestFocus();
}

private void saveFile(File file){
try{
BufferedWrite writer = new BufferedWriter(new FileWriter(file));
for(QuizCard card: cardList){
writer.write(card.getQuestion()+"/");
writer.write(card.getAnswer()+"\n");

}
writer.close();
}catch(IOException ex){
System.out.println(“nao foi possivel escrever cardlist”);
ex.printStackTrack();
}

}
}[/code]

e com o Seguinte erro:

QuizCard não é uma classe de java.io?
eu importei corretamente

Pelo erro parece que o compilador não consegue achar a definição de QuizCard, veja se existe essa classe no seu projeto e importe ela se necessario.

Outros erros que eu vi são :

  • você tenta usar um BufferedWriter mas declara um BufferedWrite
  • você tenta usar o método printStackTrace() mas declara tal como sendo um printStackTrack

espero ter ajudado

Pera aí, QuizCard uma classe de java.io? Acho que não cara. Possívelmente esta classe está relacionada ao exercício e vc deve construir ela.
Caso tenha esse tipo de dúvida, acesse a API. É bom sempre trabalhar com a API aberta para esse tipo de consulta.

Os erros printStackTrace() e BufferedWriter esqueci de resolver antes de postar.
Acontece que no livro não existe nenhum demonstrativo da classe QuizCard, simplesmente é posto um código com ela sem ao menos citar nada a respeito.
Pelo menos eu não achei aqui :shock: .
Alguem lembra desse exemplo?

Ja li o livro e não existe nenhum exemplo de código para essa classe… Não é um erro do livro, na verdade o livro propõe que o próprio leitor a implemente a partir de um diagrama de classe…
Classe: QuizCard
Construtor: QuizCard(q,a);
Atributos: question, answer;
métodos; getQuestion(), getAnswer();

Se sua versão for a traduzida… veja na pagina 315.

[quote=Francisco Silva]Ja li o livro e não existe nenhum exemplo de código para essa classe… Não é um erro do livro, na verdade o livro propõe que o próprio leitor a implemente a partir de um diagrama de classe…
Classe: QuizCard
Construtor: QuizCard(q,a);
Atributos: question, answer;
métodos; getQuestion(), getAnswer();

Se sua versão for a traduzida… veja na pagina 315.
[/quote]
Obrigado não sabia que essa classe tinha que ser feita