public class Jogo extends JFrame {
ArrayList<Livro> lista = new ArrayList();
JTextField jt_nome;
public Jogo() {
super("Cadastro de Livro");
setSize(480, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// getContentPane().setBackground(Color.BLACK);
setLayout(null);
JLabel lblTitulo = new JLabel("Cadastro de Livro");
lblTitulo.setFont(new Font("Comic Sans Ms", 1, 20));
lblTitulo.setBounds(140, 1, 3000, 100);
add(lblTitulo);
//Um botão que inicia o jogo
JLabel lb_nome = new JLabel("Nome");
lb_nome.setBounds(30, 80, 70, 20);
add(lb_nome);
jt_nome = new JTextField();
jt_nome.setBounds(30, 100, 200, 30);
add(jt_nome);
JButton btnIniciar = new JButton("Cadastrar");
btnIniciar.setBounds(100, 200, 100, 30);
btnIniciar.addActionListener(new Action_btnIniciar());
//Adicionando o botão ao Frame
add(btnIniciar);
}
public class Action_btnIniciar implements ActionListener {
public void actionPerformed(ActionEvent e) { //o erro acontece aqui
FileOutputStream outFile = new FileOutputStream("text.txt");
ObjectOutputStream serializer = new ObjectOutputStream(outFile);
Livro livro = new Livro();
livro.setNome(jt_nome.getText().toString());
lista.add(livro);
serializer.writeObject(lista);
}
}
//Método main, aqui instanciamos a nossa classe, para testar!
public static void main(String[] args) {
new Jogo().setVisible(true);
}
}
Problema Serializable
Estou tentando implementar o serializable mas nao estou conseguindo
Alguém poderia me ajudar. Valeu
3 Respostas
Camarada, qual o erro?
Entao amigo, ele acusa erro, ao colocar o mouse em cima,
unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
a minha idéia era fazer uma tela simples, cadastrando um vários livros.
Você não estava tratando as exceções!
import java.io.Serializable;
public class Livro implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7936941614561038544L;
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Jogo extends JFrame {
ArrayList<Livro> lista = new ArrayList();
JTextField jt_nome;
public Jogo() {
super("Cadastro de Livro");
setSize(480, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// getContentPane().setBackground(Color.BLACK);
setLayout(null);
JLabel lblTitulo = new JLabel("Cadastro de Livro");
lblTitulo.setFont(new Font("Comic Sans Ms", 1, 20));
lblTitulo.setBounds(140, 1, 3000, 100);
add(lblTitulo);
// Um botão que inicia o jogo
JLabel lb_nome = new JLabel("Nome");
lb_nome.setBounds(30, 80, 70, 20);
add(lb_nome);
jt_nome = new JTextField();
jt_nome.setBounds(30, 100, 200, 30);
add(jt_nome);
JButton btnIniciar = new JButton("Cadastrar");
btnIniciar.setBounds(100, 200, 100, 30);
btnIniciar.addActionListener(new Action_btnIniciar());
// Adicionando o botão ao Frame
add(btnIniciar);
}
public class Action_btnIniciar implements ActionListener {
public void actionPerformed(ActionEvent e) { // o erro acontece aqui
FileOutputStream outFile = null;
try {
outFile = new FileOutputStream("text.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ObjectOutputStream serializer = null;
try {
serializer = new ObjectOutputStream(outFile);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Livro livro = new Livro();
livro.setNome(jt_nome.getText().toString());
lista.add(livro);
try {
serializer.writeObject(lista);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
// Método main, aqui instanciamos a nossa classe, para testar!
public static void main(String[] args) {
new Jogo().setVisible(true);
}
}
Criado 7 de março de 2012
Ultima resposta 7 de mar. de 2012
Respostas 3
Participantes 3