package spiderschwein;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToggleButton;
import javax.swing.JButton;
public class HighscoreListGUI extends JFrame {
private JPanel jContentPane = null;
private JScrollPane scpHighscoreList = null;
private JTable tabHighscoreList = null;
// private ArrayList einträge = new ArrayList();
private JToggleButton btnRestart = null;
private JButton btnBeenden = null;
/**
* This is the default constructor
*/
public HighscoreListGUI() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(284, 242);
this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
this.setContentPane(getJContentPane());
this.setTitle("Highscore Liste");
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosed(java.awt.event.WindowEvent e) {
speichern();
}
public void windowOpened(java.awt.event.WindowEvent e) {
oeffnen();
}
});
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getScpHighscoreList(), null);
jContentPane.add(getBtnRestart(), null);
jContentPane.add(getBtnBeenden(), null);
}
return jContentPane;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScpHighscoreList() {
if (scpHighscoreList == null) {
scpHighscoreList = new JScrollPane();
scpHighscoreList.setBounds(new java.awt.Rectangle(0,-2,280,179));
scpHighscoreList.setViewportView(getTabHighscoreList());
}
return scpHighscoreList;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getTabHighscoreList() {
if (tabHighscoreList == null) {
tabHighscoreList = new JTable(TableModelHighscoreList.getInstance());
}
return tabHighscoreList;
}
// public boolean add(Object neuerUser) {
// return einträge.add(neuerUser);
// }
/**
* This method initializes btnRestart
*
* @return javax.swing.JToggleButton
*/
private JToggleButton getBtnRestart() {
if (btnRestart == null) {
btnRestart = new JToggleButton();
btnRestart.setText("Neustart");
btnRestart.setSize(new java.awt.Dimension(130,30));
btnRestart.setLocation(new java.awt.Point(0,175));
btnRestart.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
oeffnen();
}
});
}
return btnRestart;
}
/**
* This method initializes btnBeenden
*
* @return javax.swing.JButton
*/
private JButton getBtnBeenden() {
if (btnBeenden == null) {
btnBeenden = new JButton();
btnBeenden.setLocation(new java.awt.Point(138,175));
btnBeenden.setText("Beenden");
btnBeenden.setSize(new java.awt.Dimension(130,30));
btnBeenden.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
speichern();
}
});
}
return btnBeenden;
}
public void speichern(){
File datei = new File("C:\\highscore.dat");
try {
datei.createNewFile();
FileOutputStream fos = new FileOutputStream(datei);
ObjectOutputStream oos = new ObjectOutputStream(fos);
// Kundenliste serialisieren
oos.writeObject(TableModelHighscoreList.getInstance().getHighscoreliste());
fos.close();
System.out.println("OK, saved");
}
catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.out.println("Fehler");
}
}
public void oeffnen(){
File datei = new File("C:\\highscore.dat");
try {
FileInputStream fis = new FileInputStream(datei);
ObjectInputStream ois = new ObjectInputStream(fis);
// Objekte einlesen
TableModelHighscoreList.getInstance().setHighscoreliste((ArrayList<HighscoreEintrag>) ois.readObject());
// Stream schließen
fis.close();
System.out.println("GELESEN");
}
catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} // @jve:decl-index=0:visual-constraint="10,10"