# Wie kann ich in meiner GUI die JTables aktualisieren?



## Duffner (27. Juni 2012)

Ich habe schon alles mögliche ausprobiert und bekomme es einfach nicht hin, das wenn ich auf den Aktualisieren Butten(btnReloadAlleFahrzeuge2) klicke das sich die scroll Table neu laden im JPanel Datenbank bei mir, wäre mal schön wenn da mal jemand drüber gucken würde, ich brauche das Programm lauffähig am 01.07.2012, und verzweifel schon daran.

im moment läd er die Jtable nur beim Programmstart aus meiner Datenbank.

die jTable liegen alle in der VWEditionTeam.java , die GuiProgramm startet nur den JFrame und die FillTable.java ist die methode um meinen JTable´s eine model zu geben. 

GuiProgramm.java

```
package klassen;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;


public class GuiProgramm {
	
	public static void main(String[] args) throws Exception {
		
		SwingUtilities.invokeLater(new Runnable() {
			
			
			public void run() {
				try {
					UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
					
				} catch (Exception e) {
					e.printStackTrace();
				}

				
				JFrame frame = null;
				
					try {
						frame = new VWEditionTeam();
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				
				frame.setVisible(true);
				
				
			}
		});
	}

}
```

FillTable.java

```
package klassen;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

public final class FillTable extends AbstractTableModel{

 /**
 *
 */
 private static final long serialVersionUID = -912060609250881296L;
 private ResultSet rs;
 private int rowCount;
 private int columnCount;
 @SuppressWarnings("rawtypes")
private ArrayList data=new ArrayList();

 public FillTable(ResultSet _rs) throws Exception
 {
 setRS(_rs);
 }

 @SuppressWarnings("unchecked")
public void setRS(ResultSet _rs)
 throws Exception
 {
 this.rs=_rs;
 ResultSetMetaData metaData=_rs.getMetaData();
 rowCount=0;
 columnCount=metaData.getColumnCount();
 while(_rs.next()){
 Object[] row=new Object[columnCount];
 for(int j=0;j<columnCount;j++){
 row[j]=_rs.getObject(j+1);
 }
 data.add(row);
 rowCount++;
 }
 }

    @Override
 public int getColumnCount(){
 return columnCount;
 }

    @Override
 public int getRowCount(){
 return rowCount;
 }

    @Override
 public Object getValueAt(int rowIndex, int columnIndex){
 Object[] row=(Object[]) data.get(rowIndex);
 return row[columnIndex];
 }

    @Override
 public String getColumnName(int columnIndex){
 try{
 ResultSetMetaData metaData=rs.getMetaData();
 return metaData.getColumnName(columnIndex+1);
 }catch(Exception e){
 return null;
 }
 }
}
```

VWEditionTeam.java

JTable starten ab zeile: 422
Actionlistener ab zeile: 1398

```
package klassen;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.*;
import javax.swing.border.SoftBevelBorder;




public final class VWEditionTeam extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;
	public JTextField txtName, txtVorname, txtKennzeichen1, txtKennzeichen2,
			txtKennzeichen3, txtFahrzeugbezeichnung, txtWohnort, txtVerein,
			txtEMail;

	// darf nicht private sein da der ActionListener ne eigene Klasse ist und
	// hier nicht zugreifen kann!
	public JSpinner spinnerStartnummer, spinnerLeistung, spinnerBaujahr,
			spinnerAnfahrt, spinnerOptischerGesamteindruck, spinnerFelgen,
			spinnerLackierung, spinnerKarosseriearbeiten,
			spinnerMotorUndMotorraum, spinnerInnenraum, spinnerKofferraum,
			spinnerEigeneIdeen, spinnerWarndreieck, spinnerVerbandskasten;
	// darf nicht private sein da der ActionListener ne eigene Klasse ist und
	// hier nicht zugreifen kann!
	public JComboBox<?> comboBoxFahrzeughersteller, comboBoxPokalklasse;
	public JScrollPane scrollTable;
	public JPanel panelDatenbank;
	public JTable table;
	public JButton btnHinzufuegen, btnReloadAlleFahrzeuge2;
	public JLabel msgline;
	static Connection con = null;
	static Statement stmt = null;
	static ResultSet rs = null;
	String msg = new String();

	/*
	 * Create the application.
	 */
	
	
	public VWEditionTeam() throws Exception {

		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		setTitle("VW Edition Team");
		
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		con = DriverManager.getConnection(
				"jdbc:mysql://localhost/vw_edition_team", "root",
				"Tauchprinzip");

		stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
		if (!con.isClosed()) 
		System.out.println("Successfully connected to MySQL server...");
		
		
		initialize();

		if (btnReloadAlleFahrzeuge2 == null) {
			// System.out.println("btnReloadAlleFahrzeuge");
		} else {

			setupInteractions();
		}

		if (btnHinzufuegen == null) {
			// System.out.println("btnHinzufuegen");
		} else {

			setupInteractions();
		}

		pack();
		setLocationRelativeTo(null);

		WindowListener winListener = new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {

				int answer = JOptionPane.showConfirmDialog(VWEditionTeam.this,
						"Wollen Sie das Programm wirklich beenden?",
						"Wirklich beenden?", JOptionPane.YES_NO_OPTION);
				if(answer == JOptionPane.YES_OPTION){
					System.exit(0);
				}
			}
		};

		addWindowListener(winListener);

	}

	private void setupInteractions() {
		btnHinzufuegen.addActionListener(new AddFahrzeugAction());
		btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void initialize() throws Exception {

		JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
		getContentPane().add(tabbedPane, BorderLayout.NORTH);

		/*
		 * Panel Eingaben ......
		 */
		JPanel panelEingaben = new JPanel();
		tabbedPane.addTab("Eingaben", null, panelEingaben, null);
		panelEingaben.setLayout(new BorderLayout(0, 0));

		JLabel msgline2 = new JLabel("");
		Dimension d = new Dimension(128, 10);
		msgline2.setMinimumSize(d);
		msgline2.setHorizontalAlignment(SwingConstants.CENTER);
		panelEingaben.add(msgline2, BorderLayout.SOUTH);

		JPanel panelLogo = new JPanel();
		panelEingaben.add(panelLogo, BorderLayout.WEST);
		panelLogo.setLayout(new BorderLayout(0, 0));

		JLabel lblLogo = new JLabel("");
		panelLogo.add(lblLogo, BorderLayout.NORTH);
		lblLogo.setIcon(new ImageIcon(VWEditionTeam.class
				.getResource("/klassen/logo.png")));
		lblLogo.setVerticalAlignment(SwingConstants.TOP);

		/*
		 * Copiright
		 */
		JLabel lblCopyright = new JLabel("Copiright by VW Edition Team");
		panelLogo.add(lblCopyright, BorderLayout.SOUTH);
		lblCopyright.setHorizontalAlignment(SwingConstants.LEFT);

		JPanel panel = new JPanel();
		panelEingaben.add(panel, BorderLayout.CENTER);
		panel.setLayout(new GridLayout(0, 2, 0, 0));
		panel.setBorder(new SoftBevelBorder(1));

		/*
		 * Panel Dateneingabe
		 */
		JPanel panelDaten = new JPanel();
		panel.add(panelDaten);
		panelDaten.setLayout(new GridLayout(0, 2, 5, 5));

		JPanel panelLabelDaten = new JPanel();
		panelDaten.add(panelLabelDaten);

		/*
		 * Panel Label Dateneingabe
		 */
		JLabel lblStartnummer = new JLabel("Startnummer :");
		lblStartnummer.setHorizontalAlignment(SwingConstants.CENTER);

		JLabel lblName = new JLabel("Name :");
		lblName.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.setLayout(new GridLayout(0, 1, 5, 5));
		panelLabelDaten.add(lblStartnummer);
		panelLabelDaten.add(lblName);

		JLabel lblVorname = new JLabel("Vorname :");
		lblVorname.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblVorname);

		JLabel lblFahrzeughersteller = new JLabel("Fahrzeughersteller :");
		lblFahrzeughersteller.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblFahrzeughersteller);

		JLabel lblFahrzeugbezeichnung = new JLabel("Fahrzeugbezeichnung :");
		lblFahrzeugbezeichnung.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblFahrzeugbezeichnung);

		JLabel lblPokalklasse = new JLabel("Pokalklasse :");
		lblPokalklasse.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblPokalklasse);

		JLabel lblBaujahr = new JLabel("Baujahr :");
		lblBaujahr.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblBaujahr);

		JLabel lblLeistungInPs = new JLabel("Leistung in PS :");
		lblLeistungInPs.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblLeistungInPs);

		JLabel lblKennzeichen = new JLabel("Kennzeichen :");
		lblKennzeichen.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblKennzeichen);

		JLabel lblWohnort = new JLabel("Wohnort :");
		lblWohnort.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblWohnort);

		JLabel lblAnfahrtInKm = new JLabel("Anfahrt in Km :");
		lblAnfahrtInKm.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblAnfahrtInKm);

		JLabel lblEmail = new JLabel("E-mail :");
		lblEmail.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblEmail);

		JLabel lblVerein = new JLabel("Verein :");
		lblVerein.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblVerein);

		/*
		 * Panel Daten Eingabe
		 */
		JPanel panelEingabenDaten = new JPanel();
		panelDaten.add(panelEingabenDaten);
		panelEingabenDaten.setLayout(new GridLayout(0, 1, 5, 5));

		spinnerStartnummer = new JSpinner(new SpinnerNumberModel(0, 0, 500, 1));
		panelEingabenDaten.add(spinnerStartnummer);

		txtName = new JTextField();
		panelEingabenDaten.add(txtName);
		txtName.setColumns(20);

		txtVorname = new JTextField();
		panelEingabenDaten.add(txtVorname);
		txtVorname.setColumns(20);

		comboBoxFahrzeughersteller = new JComboBox(new String[] { "Volkswagen",
				"Audi", "Seat", "Skoda" });
		comboBoxFahrzeughersteller.setEditable(true);
		panelEingabenDaten.add(comboBoxFahrzeughersteller);

		txtFahrzeugbezeichnung = new JTextField();
		panelEingabenDaten.add(txtFahrzeugbezeichnung);
		txtFahrzeugbezeichnung.setColumns(10);
		// Du hattest hier nochmal JComboBox davor stehen...initalisiert das
		// ding private neu und du kannst nicht mehr von aussen drauf zugreifen.
		// Du hast das Ding doch schon oben als JComboBox definiert******
		comboBoxPokalklasse = new JComboBox(new Object[] { "Polo 1/2/3",
				"Polo 6N + Facelift", "Polo 9N + Facelift", "Golf 1", "Golf 2",
				"Golf 3", "Golf 4", "Golf 5", "Golf 6", "Golf Cabrio",
				"Jetta/Vento", "Bora", "Scirocco 1/2", "Scirocco 3", "Corrado",
				"Passat 35i + Facelift", "Passat 3B/3BG", "Passat 3C/CC",
				"VW Bus", "VW Cabrio", "Kï¿½fer", "VW Sonstige", "Seat", "Skoda",
				"Audi 80/90", "Audi 100/200", "Audi A3/Sportback", "Audi A4",
				"Audi A6", "Audi A8/V8", "Audi Cabrio", "Audi Sonstige",
				"Zusatz Pokal1", "Zusatz Pokal2", "Zusatz Pokal3",
				"Zusatz Pokal4", "Rennbahn" });
		panelEingabenDaten.add(comboBoxPokalklasse);

		spinnerBaujahr = new JSpinner(new SpinnerNumberModel(1995, 1985, 2012,
				1));
		panelEingabenDaten.add(spinnerBaujahr);

		spinnerLeistung = new JSpinner(new SpinnerNumberModel(150, 5, 1000, 10));
		panelEingabenDaten.add(spinnerLeistung);

		JPanel panelKennzeichen = new JPanel();
		panelEingabenDaten.add(panelKennzeichen);
		panelKennzeichen.setLayout(new GridLayout(1, 3, 5, 5));

		txtKennzeichen1 = new JTextField();
		panelKennzeichen.add(txtKennzeichen1);
		txtKennzeichen1.setColumns(3);

		txtKennzeichen2 = new JTextField();
		panelKennzeichen.add(txtKennzeichen2);
		txtKennzeichen2.setColumns(3);

		txtKennzeichen3 = new JTextField();
		panelKennzeichen.add(txtKennzeichen3);
		txtKennzeichen3.setColumns(6);

		txtWohnort = new JTextField();
		panelEingabenDaten.add(txtWohnort);
		txtWohnort.setColumns(10);

		spinnerAnfahrt = new JSpinner(new SpinnerNumberModel(150, 0, 5000, 10));
		panelEingabenDaten.add(spinnerAnfahrt);

		txtEMail = new JTextField();
		panelEingabenDaten.add(txtEMail);
		txtEMail.setColumns(10);

		txtVerein = new JTextField();
		panelEingabenDaten.add(txtVerein);
		txtVerein.setColumns(10);

		/*
		 * Panel Auswertungseingabe
		 */
		JPanel panelAuswertung = new JPanel();
		panel.add(panelAuswertung);
		panelAuswertung.setLayout(new GridLayout(0, 2, 5, 5));

		/*
		 * Panel Label Auswertungseingabe
		 */

		JPanel panelLabelAuswertung = new JPanel();
		panelAuswertung.add(panelLabelAuswertung);
		panelLabelAuswertung.setLayout(new GridLayout(0, 1, 5, 5));

		JLabel lblNewLabel = new JLabel("");
		panelLabelAuswertung.add(lblNewLabel);

		JLabel lblOptischerGesamteindruck = new JLabel(
				"Optischer Gesamteindruck :");
		lblOptischerGesamteindruck
				.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblOptischerGesamteindruck);

		JLabel lblFelgen = new JLabel("Felgen :");
		lblFelgen.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblFelgen);

		JLabel lblLackierungairbrush = new JLabel("Lackierung/Airbrush :");
		lblLackierungairbrush.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblLackierungairbrush);

		JLabel lblKarosseriearbeiten = new JLabel("Karosseriearbeiten :");
		lblKarosseriearbeiten.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblKarosseriearbeiten);

		JLabel lblMotorUndMotorraum = new JLabel("Motor und Motorraum :");
		lblMotorUndMotorraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblMotorUndMotorraum);

		JLabel lblInnenraum = new JLabel("Innenraum :");
		lblInnenraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblInnenraum);

		JLabel lblKofferraum = new JLabel("Kofferraum :");
		lblKofferraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblKofferraum);

		JLabel lblEigeneIdeenshoweffekte = new JLabel(
				"Eigene Ideen/Show-Effekte :");
		lblEigeneIdeenshoweffekte.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblEigeneIdeenshoweffekte);

		JLabel lblWarndreieck = new JLabel("Warndreieck :");
		lblWarndreieck.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblWarndreieck);

		JLabel lblVerbandskasten = new JLabel("Verbandskasten :");
		lblVerbandskasten.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblVerbandskasten);

		JLabel lblGesamtpunkte = new JLabel("Gesamtpunkte :");
		lblGesamtpunkte.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblGesamtpunkte);

		JLabel lblNewLabel_2 = new JLabel("");
		panelLabelAuswertung.add(lblNewLabel_2);

		/*
		 * Panel Auswertungseingaben
		 */
		JPanel panelEingabenAuswertung = new JPanel();
		panelAuswertung.add(panelEingabenAuswertung);
		panelEingabenAuswertung.setLayout(new GridLayout(0, 1, 5, 5));

		JLabel lblNewLabel_1 = new JLabel("");
		panelEingabenAuswertung.add(lblNewLabel_1);

		spinnerOptischerGesamteindruck = new JSpinner(new SpinnerNumberModel(5,
				0, 10, 1));
		panelEingabenAuswertung.add(spinnerOptischerGesamteindruck);

		spinnerFelgen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerFelgen);

		spinnerLackierung = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerLackierung);

		spinnerKarosseriearbeiten = new JSpinner(new SpinnerNumberModel(5, 0,
				10, 1));
		panelEingabenAuswertung.add(spinnerKarosseriearbeiten);

		spinnerMotorUndMotorraum = new JSpinner(new SpinnerNumberModel(5, 0,
				10, 1));
		panelEingabenAuswertung.add(spinnerMotorUndMotorraum);

		spinnerInnenraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerInnenraum);

		spinnerKofferraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerKofferraum);

		spinnerEigeneIdeen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerEigeneIdeen);

		spinnerWarndreieck = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
		panelEingabenAuswertung.add(spinnerWarndreieck);

		spinnerVerbandskasten = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
		panelEingabenAuswertung.add(spinnerVerbandskasten);

		JProgressBar progressBar = new JProgressBar();
		progressBar.setMaximum(90);
		panelEingabenAuswertung.add(progressBar);

		JLabel lblNewLabel_3 = new JLabel("");
		panelEingabenAuswertung.add(lblNewLabel_3);

		/*
		 * Panel Hinzufuegen Button
		 */
		JPanel panelEast = new JPanel();
		panelEingaben.add(panelEast, BorderLayout.EAST);
		panelEast.setLayout(new BorderLayout(0, 0));

		JButton btnHinzufuegen1 = new JButton("Hinzuf\u00FCgen");
		btnHinzufuegen1.addActionListener(new AddFahrzeugAction());
		panelEast.add(btnHinzufuegen1, BorderLayout.SOUTH);
		
		
		
		/*
		 * Panel Datenbank
		 */
		JPanel panelDatenbank = new JPanel();
		tabbedPane.addTab("Alle Fahrzeuge", null, panelDatenbank, null);
		panelDatenbank.setLayout(new BorderLayout(0, 0));
		
		JTabbedPane tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP);
		panelDatenbank.add(tabbedPane_1, BorderLayout.CENTER);
		
		JPanel ReloadAlleFahrzeuge = new JPanel();
		panelDatenbank.add(ReloadAlleFahrzeuge, BorderLayout.SOUTH);
		ReloadAlleFahrzeuge.setLayout(new BorderLayout(0, 0));

		JButton btnReloadAlleFahrzeuge2 = new JButton("Aktualisieren");
		ReloadAlleFahrzeuge.add(btnReloadAlleFahrzeuge2, BorderLayout.NORTH);
		btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());

		/*
		 * panelPokale
		 */
		JPanel panelAllePokale = new JPanel();
		tabbedPane_1.addTab("Alle Pokale", null, panelAllePokale, null);
		panelAllePokale.setLayout(new BorderLayout(0, 0));

		table = new JTable(AllePokale());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAllePokale.add(scrollTable);

		/*
		 * panelPolo123
		 */
		JPanel panelPolo123 = new JPanel();
		tabbedPane_1.addTab("Polo 1/2/3", null, panelPolo123, null);
		panelPolo123.setLayout(new BorderLayout(0, 0));

		table = new JTable(Polo123());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPolo123.add(scrollTable);

		/*
		 * panelPolo6N
		 */
		JPanel panelPolo6N = new JPanel();
		tabbedPane_1.addTab("Polo 6N", null, panelPolo6N, null);
		panelPolo6N.setLayout(new BorderLayout(0, 0));

		table = new JTable(Polo6N());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPolo6N.add(scrollTable);

		/*
		 * panelPolo9N
		 */
		JPanel panelPolo9N = new JPanel();
		tabbedPane_1.addTab("Polo 9N", null, panelPolo9N, null);
		panelPolo9N.setLayout(new BorderLayout(0, 0));

		table = new JTable(Polo9N());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPolo9N.add(scrollTable);

		/*
		 * panelGolf1
		 */
		JPanel panelGolf1 = new JPanel();
		tabbedPane_1.addTab("Golf 1", null, panelGolf1, null);
		panelGolf1.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf1());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf1.add(scrollTable);

		/*
		 * panelGolf2
		 */
		JPanel panelGolf2 = new JPanel();
		tabbedPane_1.addTab("Golf 2", null, panelGolf2, null);
		panelGolf2.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf2());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf2.add(scrollTable);

		/*
		 * panelGolf3
		 */
		JPanel panelGolf3 = new JPanel();
		tabbedPane_1.addTab("Golf 3", null, panelGolf3, null);
		panelGolf3.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf3());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf3.add(scrollTable);

		/*
		 * panelGolf4
		 */
		JPanel panelGolf4 = new JPanel();
		tabbedPane_1.addTab("Golf 4", null, panelGolf4, null);
		panelGolf4.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf4());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf4.add(scrollTable);

		/*
		 * panelGolf5
		 */
		JPanel panelGolf5 = new JPanel();
		tabbedPane_1.addTab("Golf 5", null, panelGolf5, null);
		panelGolf5.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf5());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf5.add(scrollTable);

		/*
		 * panelGolf6
		 */
		JPanel panelGolf6 = new JPanel();
		tabbedPane_1.addTab("Golf 6", null, panelGolf6, null);
		panelGolf6.setLayout(new BorderLayout(0, 0));

		table = new JTable(Golf6());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolf6.add(scrollTable);

		/*
		 * panelGolfCabrio
		 */
		JPanel panelGolfCabrio = new JPanel();
		tabbedPane_1.addTab("Golf Cabrio", null, panelGolfCabrio, null);
		panelGolfCabrio.setLayout(new BorderLayout(0, 0));

		table = new JTable(GolfCabrio());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelGolfCabrio.add(scrollTable);

		/*
		 * panelJettaVento
		 */
		JPanel panelJettaVento = new JPanel();
		tabbedPane_1.addTab("Jetta/Vento", null, panelJettaVento, null);
		panelJettaVento.setLayout(new BorderLayout(0, 0));

		table = new JTable(Jetta_Vento());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelJettaVento.add(scrollTable);

		/*
		 * panelBora
		 */
		JPanel panelBora = new JPanel();
		tabbedPane_1.addTab("Bora", null, panelBora, null);
		panelBora.setLayout(new BorderLayout(0, 0));

		table = new JTable(Bora());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelBora.add(scrollTable);

		/*
		 * panelScirocco12
		 */
		JPanel panelScirocco12 = new JPanel();
		tabbedPane_1.addTab("Scirocco 1/2", null, panelScirocco12, null);
		panelScirocco12.setLayout(new BorderLayout(0, 0));

		table = new JTable(Scirocco1_2());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelScirocco12.add(scrollTable);

		/*
		 * panelScirocco3
		 */
		JPanel panelScirocco3 = new JPanel();
		tabbedPane_1.addTab("Scirocco 3", null, panelScirocco3, null);
		panelScirocco3.setLayout(new BorderLayout(0, 0));

		table = new JTable(Scirocco3());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelScirocco3.add(scrollTable);

		/*
		 * panelCorrado
		 */
		JPanel panelCorrado = new JPanel();
		tabbedPane_1.addTab("Corrado", null, panelCorrado, null);
		panelCorrado.setLayout(new BorderLayout(0, 0));

		table = new JTable(Corrado());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelCorrado.add(scrollTable);

		/*
		 * panelPassat35i
		 */
		JPanel panelPassat35i = new JPanel();
		tabbedPane_1.addTab("Passat 35i", null, panelPassat35i, null);
		panelPassat35i.setLayout(new BorderLayout(0, 0));

		table = new JTable(Passat_35i());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPassat35i.add(scrollTable);

		/*
		 * panelPassat3B_3BG
		 */
		JPanel panelPassat3B_3BG = new JPanel();
		tabbedPane_1.addTab("Passat 3B/3BG", null, panelPassat3B_3BG, null);
		panelPassat3B_3BG.setLayout(new BorderLayout(0, 0));

		table = new JTable(Passat3B_3BG());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPassat3B_3BG.add(scrollTable);

		/*
		 * panelPassat3C_CC
		 */
		JPanel panelPassat3C_CC = new JPanel();
		tabbedPane_1.addTab("Passat 3C/CC", null, panelPassat3C_CC, null);
		panelPassat3C_CC.setLayout(new BorderLayout(0, 0));

		table = new JTable(Passat3C_CC());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelPassat3C_CC.add(scrollTable);

		/*
		 * panelVWBus
		 */
		JPanel panelVWBus = new JPanel();
		tabbedPane_1.addTab("VW Bus", null, panelVWBus, null);
		panelVWBus.setLayout(new BorderLayout(0, 0));

		table = new JTable(VWBus());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelVWBus.add(scrollTable);

		/*
		 * panelVWCabrio
		 */
		JPanel panelVWCabrio = new JPanel();
		tabbedPane_1.addTab("VW Cabrio", null, panelVWCabrio, null);
		panelVWCabrio.setLayout(new BorderLayout(0, 0));

		table = new JTable(VWCabrio());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelVWCabrio.add(scrollTable);

		/*
		 * panelVWSonstige
		 */
		JPanel panelVWSonstige = new JPanel();
		tabbedPane_1.addTab("VW Sonstige", null, panelVWSonstige, null);
		panelVWSonstige.setLayout(new BorderLayout(0, 0));

		table = new JTable(VWSonstige());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelVWSonstige.add(scrollTable);

		/*
		 * panelKaefer
		 */
		JPanel panelKaefer = new JPanel();
		tabbedPane_1.addTab("K\u00E4fer", null, panelKaefer, null);
		panelKaefer.setLayout(new BorderLayout(0, 0));

		table = new JTable(Kaefer());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelKaefer.add(scrollTable);

		/*
		 * panelSeat
		 */
		JPanel panelSeat = new JPanel();
		tabbedPane_1.addTab("Seat", null, panelSeat, null);
		panelSeat.setLayout(new BorderLayout(0, 0));

		table = new JTable(Seat());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelSeat.add(scrollTable);

		/*
		 * panelSkoda
		 */
		JPanel panelSkoda = new JPanel();
		tabbedPane_1.addTab("Skoda", null, panelSkoda, null);
		panelSkoda.setLayout(new BorderLayout(0, 0));

		table = new JTable(Skoda());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelSkoda.add(scrollTable);

		/*
		 * panelAudi 80/90
		 */
		JPanel panelAudi80_90 = new JPanel();
		tabbedPane_1.addTab("Audi 80/90", null, panelAudi80_90, null);
		panelAudi80_90.setLayout(new BorderLayout(0, 0));

		table = new JTable(Audi80_90());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi80_90.add(scrollTable);

		/*
		 * panelAudi100_200
		 */
		JPanel panelAudi100_200 = new JPanel();
		tabbedPane_1.addTab("Audi 100/200", null, panelAudi100_200, null);
		panelAudi100_200.setLayout(new BorderLayout(0, 0));

		table = new JTable(Audi100_200());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi100_200.add(scrollTable);

		/*
		 * panelAudiA3_Sportback
		 */
		JPanel panelAudiA3_Sportback = new JPanel();
		tabbedPane_1.addTab("Audi A3/Sportback", null, panelAudiA3_Sportback,
				null);
		panelAudiA3_Sportback.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiA3());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudiA3_Sportback.add(scrollTable);

		/*
		 * panelAudi_A4
		 */
		JPanel panelAudi_A4 = new JPanel();
		tabbedPane_1.addTab("Audi A4", null, panelAudi_A4, null);
		panelAudi_A4.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiA4());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi_A4.add(scrollTable);

		/*
		 * panelAudi_A6
		 */
		JPanel panelAudi_A6 = new JPanel();
		tabbedPane_1.addTab("Audi A6", null, panelAudi_A6, null);
		panelAudi_A6.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiA6());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi_A6.add(scrollTable);

		/*
		 * panelAudi_A8_V8
		 */
		JPanel panelAudi_A8_V8 = new JPanel();
		tabbedPane_1.addTab("Audi A8/V8", null, panelAudi_A8_V8, null);
		panelAudi_A8_V8.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiA8());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi_A8_V8.add(scrollTable);

		/*
		 * panelAudi_Cabrio
		 */
		JPanel panelAudi_Cabrio = new JPanel();
		tabbedPane_1.addTab("Audi Cabrio", null, panelAudi_Cabrio, null);
		panelAudi_Cabrio.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiCabrio());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi_Cabrio.add(scrollTable);

		/*
		 * panelAudi_Sonstige
		 */
		JPanel panelAudi_Sonstige = new JPanel();
		tabbedPane_1.addTab("Audi Sonstige", null, panelAudi_Sonstige, null);
		panelAudi_Sonstige.setLayout(new BorderLayout(0, 0));

		table = new JTable(AudiSonstige());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelAudi_Sonstige.add(scrollTable);

		/*
		 * panelZusatzPokal1
		 */
		JPanel panelZusatzPokal1 = new JPanel();
		tabbedPane_1.addTab("Zusatz Pokal1", null, panelZusatzPokal1, null);
		panelZusatzPokal1.setLayout(new BorderLayout(0, 0));

		table = new JTable(ZusatzPokal1());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelZusatzPokal1.add(scrollTable);

		/*
		 * panelZusatzPokal2
		 */
		JPanel panelZusatzPokal2 = new JPanel();
		tabbedPane_1.addTab("Zusatz Pokal2", null, panelZusatzPokal2, null);
		panelZusatzPokal2.setLayout(new BorderLayout(0, 0));

		table = new JTable(ZusatzPokal2());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelZusatzPokal2.add(scrollTable);

		/*
		 * panelZusatzPokal3
		 */
		JPanel panelZusatzPokal3 = new JPanel();
		tabbedPane_1.addTab("Zusatz Pokal3", null, panelZusatzPokal3, null);
		panelZusatzPokal3.setLayout(new BorderLayout(0, 0));

		table = new JTable(ZusatzPokal3());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelZusatzPokal3.add(scrollTable);

		/*
		 * panelZusatzPokal4
		 */
		JPanel panelZusatzPokal4 = new JPanel();
		tabbedPane_1.addTab("Zusatz Pokal4", null, panelZusatzPokal4, null);
		panelZusatzPokal4.setLayout(new BorderLayout(0, 0));

		table = new JTable(ZusatzPokal4());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelZusatzPokal4.add(scrollTable);

		/*
		 * panelRennbahn
		 */
		JPanel panelRennbahn = new JPanel();
		tabbedPane_1.addTab("Rennbahn", null, panelRennbahn, null);
		panelRennbahn.setLayout(new BorderLayout(0, 0));

		table = new JTable(Rennbahn());
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);

		panelRennbahn.add(scrollTable);
	}

	/*
	 * ActionListener
	 */

	private class AddFahrzeugAction implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent e) {

			// System.out.println("start hinzufï¿½gen");
			int startnummer = (int) spinnerStartnummer.getValue();
			String name = txtName.getText();
			String vorname = txtVorname.getText();
			String fahrzeughersteller = (String) comboBoxFahrzeughersteller
					.getSelectedItem().toString();
			String fahrzeugbezeichnung = txtFahrzeugbezeichnung.getText();
			String pokalklasse = comboBoxPokalklasse.getSelectedItem()
					.toString();
			int baujahr = (Integer) spinnerBaujahr.getValue();
			int leistung = (Integer) spinnerLeistung.getValue();
			String kennzeichen = (txtKennzeichen1.getText() + "-"
					+ txtKennzeichen2.getText() + "-" + txtKennzeichen3
					.getText());
			String wohnort = txtWohnort.getText();
			int anfahrt = (Integer) spinnerAnfahrt.getValue();
			String eMail = txtEMail.getText();
			String verein = txtVerein.getText();
			int optischerGesamteindruck = (Integer) spinnerOptischerGesamteindruck
					.getValue();
			int felgen = (Integer) spinnerFelgen.getValue();
			int lackierung = (Integer) spinnerLackierung.getValue();
			int karosseriearbeiten = (Integer) spinnerKarosseriearbeiten
					.getValue();
			int motorUndMotorraum = (Integer) spinnerMotorUndMotorraum
					.getValue();
			int innenraum = (Integer) spinnerInnenraum.getValue();
			int kofferraum = (Integer) spinnerKofferraum.getValue();
			int eigeneIdeen = (Integer) spinnerEigeneIdeen.getValue();
			int warndreieck = (Integer) spinnerWarndreieck.getValue();
			int verbandskasten = (Integer) spinnerVerbandskasten.getValue();
			int gesamtpunkte = (Integer) optischerGesamteindruck + felgen
					+ lackierung + karosseriearbeiten + motorUndMotorraum
					+ innenraum + kofferraum + eigeneIdeen + warndreieck
					+ verbandskasten;

			String stm;
			// System.out.println("vor try");
			try {
				stm = "insert into treffen2012 (startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte) values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
				java.sql.PreparedStatement ps = con.prepareStatement(stm);
				ps.setInt(1, startnummer);
				ps.setString(2, name);
				ps.setString(3, vorname);
				ps.setString(4, fahrzeughersteller);
				ps.setString(5, fahrzeugbezeichnung);
				ps.setString(6, pokalklasse);
				ps.setInt(7, baujahr);
				ps.setInt(8, leistung);
				ps.setString(9, kennzeichen);
				ps.setString(10, wohnort);
				ps.setInt(11, anfahrt);
				ps.setString(12, eMail);
				ps.setString(13, verein);
				ps.setInt(14, optischerGesamteindruck);
				ps.setInt(15, felgen);
				ps.setInt(16, lackierung);
				ps.setInt(17, karosseriearbeiten);
				ps.setInt(18, motorUndMotorraum);
				ps.setInt(19, innenraum);
				ps.setInt(20, kofferraum);
				ps.setInt(21, eigeneIdeen);
				ps.setInt(22, warndreieck);
				ps.setInt(23, verbandskasten);
				ps.setInt(24, gesamtpunkte);

				// System.out.println("vor Statement");
				ps.executeUpdate();

				stmt.close();
				// System.out.println("nach Update");

				msg = "Fahrzeug hinzugefügt";
				final InfoPopup popup1 = new InfoPopup(VWEditionTeam.this, msg);
				popup1.setTitle("Hinzugefügt");
				popup1.setLocationRelativeTo(VWEditionTeam.this);
				Timer timer = new Timer(1000, new ActionListener() {
                    @Override
					public void actionPerformed(ActionEvent e) {
						popup1.setVisible(false);
						popup1.dispose();
					}
				});
				timer.setRepeats(false);
				timer.start();

				popup1.setVisible(true); // if modal, application will pause
											// here

				txtName.setText("");
				txtVorname.setText("");
				txtKennzeichen1.setText("");
				txtKennzeichen2.setText("");
				txtKennzeichen3.setText("");
				txtFahrzeugbezeichnung.setText("");
				txtWohnort.setText("");
				txtVerein.setText("");
				txtEMail.setText("");
			} catch (Exception e1) {

				JOptionPane.showMessageDialog(VWEditionTeam.this,
						"Fehler beim hinzufï¿½gen******", "Warnung",
						JOptionPane.ERROR_MESSAGE);

			}

		}

	}

	public FillTable AllePokale() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs1 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012");
		FillTable model = new FillTable(rs1);
		return model;
	}

	public static FillTable Polo123() throws Exception {

		Statement st = con.createStatement();
                ResultSet rs2 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Polo 1/2/3'");
		FillTable model = new FillTable(rs2);
		return model;
	}

	public static FillTable Polo6N() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs3 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Polo 6N + Facelift'");
		FillTable model = new FillTable(rs3);
		return model;
	}

	public static FillTable Polo9N() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs4 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Polo 9N + Facelift'");
		FillTable model = new FillTable(rs4);
		return model;
	}

	public static FillTable Golf1() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs5 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 1'");
		FillTable model = new FillTable(rs5);
		return model;
	}

	public static FillTable Golf2() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs6 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 2'");
		FillTable model = new FillTable(rs6);
		return model;
	}

	public static FillTable Golf3() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs7 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 3'");
		FillTable model = new FillTable(rs7);
		return model;
	}

	public static FillTable Golf4() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs8 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 4'");
		FillTable model = new FillTable(rs8);
		return model;
	}

	public static FillTable Golf5() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs9 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 5'");
		FillTable model = new FillTable(rs9);
		return model;
	}

	public static FillTable Golf6() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs10 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf 6'");
		FillTable model = new FillTable(rs10);
		return model;
	}

	public static FillTable GolfCabrio() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs11 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Golf Cabrio'");
		FillTable model = new FillTable(rs11);
		return model;
	}

	public static FillTable Jetta_Vento() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs12 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Jetta/Vento'");
		FillTable model = new FillTable(rs12);
		return model;
	}

	public static FillTable Bora() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs13 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Bora'");
		FillTable model = new FillTable(rs13);
		return model;
	}

	public static FillTable Scirocco1_2() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs14 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Scirocco 1/2'");
		FillTable model = new FillTable(rs14);
		return model;
	}

	public static FillTable Scirocco3() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs15 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Scirocco 3'");
		FillTable model = new FillTable(rs15);
		return model;
	}

	public static FillTable Corrado() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs16 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Corrado'");
		FillTable model = new FillTable(rs16);
		return model;
	}

	public static FillTable Passat_35i() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs17 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Passat 35i + Facelift'");
		FillTable model = new FillTable(rs17);
		return model;
	}

	public static FillTable Passat3B_3BG() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs18 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Passat 3B/3BG'");
		FillTable model = new FillTable(rs18);
		return model;
	}

	public static FillTable Passat3C_CC() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs19 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Passat 3C/CC'");
		FillTable model = new FillTable(rs19);
		return model;
	}

	public static FillTable VWBus() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs20 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='VW Bus'");
		FillTable model = new FillTable(rs20);
		return model;
	}

	public static FillTable VWCabrio() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs21 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='VW Cabrio'");
		FillTable model = new FillTable(rs21);
		return model;
	}

	public static FillTable Kaefer() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs22 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Kï¿½fer'");
		FillTable model = new FillTable(rs22);
		return model;
	}

	public static FillTable VWSonstige() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs23 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='VW Sonstige'");
		FillTable model = new FillTable(rs23);
		return model;
	}

	public static FillTable Seat() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs24 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Seat'");
		FillTable model = new FillTable(rs24);
		return model;
	}

	public static FillTable Skoda() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs25 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Skoda'");
		FillTable model = new FillTable(rs25);
		return model;
	}

	public static FillTable Audi80_90() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs26 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi 80/90'");
		FillTable model = new FillTable(rs26);
		return model;
	}

	public static FillTable Audi100_200() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs27 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi 100/200'");
		FillTable model = new FillTable(rs27);
		return model;
	}

	public static FillTable AudiA3() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs28 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi A3/Sportback'");
		FillTable model = new FillTable(rs28);
		return model;
	}

	public static FillTable AudiA4() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs29 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi A4'");
		FillTable model = new FillTable(rs29);
		return model;
	}

	public static FillTable AudiA6() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs30 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi A6'");
		FillTable model = new FillTable(rs30);
		return model;
	}

	public static FillTable AudiA8() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs31 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi A8/V8'");
		FillTable model = new FillTable(rs31);
		return model;
	}

	public static FillTable AudiCabrio() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs32 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi Cabrio'");
		FillTable model = new FillTable(rs32);
		return model;
	}

	public static FillTable AudiSonstige() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs33 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Audi Sonstige'");
		FillTable model = new FillTable(rs33);
		return model;
	}

	public static FillTable ZusatzPokal1() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs34 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Zusatz Pokal1'");
		FillTable model = new FillTable(rs34);
		return model;
	}

	public static FillTable ZusatzPokal2() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs35 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Zusatz Pokal2'");
		FillTable model = new FillTable(rs35);
		return model;
	}

	public static FillTable ZusatzPokal3() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs36 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Zusatz Pokal3'");
		FillTable model = new FillTable(rs36);
		return model;
	}

	public static FillTable ZusatzPokal4() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs37 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Zusatz Pokal4'");
		FillTable model = new FillTable(rs37);
		return model;
	}

	public FillTable Rennbahn() throws Exception {

		Statement st = con.createStatement();
		ResultSet rs38 = st
				.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='Rennbahn'");
		FillTable model = new FillTable(rs38);
		return model;

	}

	/*
	 * Action Listener
	 */
	private class DatenbankRefreshAction implements ActionListener {

        @Override
		public void actionPerformed(ActionEvent e){
        	try {
        		System.out.println("Button geklickt2!");
        		

        		
			} catch (Exception e1) {
				System.out.println("DatenbankRefreshAction fehler");
				e1.printStackTrace();
				}
        	  
		}
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub

	}

}
```


----------



## Fabio Hellmann (27. Juni 2012)

Hi und Willkommen bei Tutorials.de,

bevor ich zu deinem eigentlichen Problem komme, will ich dir noch ein paar Verbesserungsvorschläge für deinen Code geben:

1. Wenn du das JFrame initialisierst in deiner Main-Methode, musst du das nicht in einem extra Thread von den SwingUtilities machen. Diese sind nur für das eingreifen in den UI-Thread gedacht.

```
package klassen;
 
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
 
public class GuiProgramm {
    public static void main(String[] args) throws Exception {
          UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
          new VWEditionTeam(); // Setz das setVisible(true) doch in den Konstruktor?
    }
}
```


2. Methoden- und Variablennamen werden immer klein geschrieben!

3. Verwende wenn möglich keine public-Variablen! Das ist gegen OOP!

4. Wenn du deine Methoden für die SQL-Abfrage verallgemeinern würdest, bräuchtest du statt 10.000 nur eine. Genau das selbe gilt auch für die Erzeugung der JTables. Eine Methode und fertig. Dadurch kannst du den Code von >1400 Zeilen auf <600 Zeilen kürzen. Das erhöt die Übersichtlichkeit enorm******
(Natürlich lässt sich da noch mehr optimieren, aber dafür fehlt mir jetzt die Zeit  )

```
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.swing.*;
import javax.swing.border.SoftBevelBorder;


public final class VWEditionTeam extends JFrame
{
	private JTextField txtName, txtVorname, txtKennzeichen1, txtKennzeichen2,
			txtKennzeichen3, txtFahrzeugbezeichnung, txtWohnort, txtVerein,
			txtEMail;
	
	// darf nicht private sein da der ActionListener ne eigene Klasse ist und
	// hier nicht zugreifen kann!
	private JSpinner spinnerStartnummer, spinnerLeistung, spinnerBaujahr,
			spinnerAnfahrt, spinnerOptischerGesamteindruck, spinnerFelgen,
			spinnerLackierung, spinnerKarosseriearbeiten,
			spinnerMotorUndMotorraum, spinnerInnenraum, spinnerKofferraum,
			spinnerEigeneIdeen, spinnerWarndreieck, spinnerVerbandskasten;
	// darf nicht private sein da der ActionListener ne eigene Klasse ist und
	// hier nicht zugreifen kann!
	private JComboBox comboBoxFahrzeughersteller, comboBoxPokalklasse;
	private JScrollPane scrollTable;
	private JTable table;
	private JButton btnHinzufuegen, btnReloadAlleFahrzeuge2;
	private final Connection con;
	private Statement stmt = null;
	
	private final String[] types = {
			"Polo 1/2/3",
			"Polo 6N + Facelift", "Polo 9N + Facelift", "Golf 1", "Golf 2",
			"Golf 3", "Golf 4", "Golf 5", "Golf 6", "Golf Cabrio",
			"Jetta/Vento", "Bora", "Scirocco 1/2", "Scirocco 3", "Corrado",
			"Passat 35i + Facelift", "Passat 3B/3BG", "Passat 3C/CC",
			"VW Bus", "VW Cabrio", "Kï¿½fer", "VW Sonstige", "Seat", "Skoda",
			"Audi 80/90", "Audi 100/200", "Audi A3/Sportback", "Audi A4",
			"Audi A6", "Audi A8/V8", "Audi Cabrio", "Audi Sonstige",
			"Zusatz Pokal1", "Zusatz Pokal2", "Zusatz Pokal3",
			"Zusatz Pokal4", "Rennbahn"
	};
	
	/*
	 * Create the application.
	 */

	public VWEditionTeam() throws Exception {
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		setTitle("VW Edition Team");
		
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		con = DriverManager.getConnection(
				"jdbc:mysql://localhost/vw_edition_team", "root",
				"Tauchprinzip");
		
		stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
		if(!con.isClosed())
			System.out.println("Successfully connected to MySQL server...");
		
		initialize();
		
		if(btnReloadAlleFahrzeuge2 != null && btnHinzufuegen != null) {
			btnHinzufuegen.addActionListener(new AddFahrzeugAction());
			btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());
		}
		
		pack();
		setLocationRelativeTo(null);
		
		final WindowListener winListener = new WindowAdapter()
						{
			@Override
			public void windowClosing(final WindowEvent e) {
				final int answer = JOptionPane.showConfirmDialog(VWEditionTeam.this,
						"Wollen Sie das Programm wirklich beenden?",
						"Wirklich beenden?", JOptionPane.YES_NO_OPTION);
				if(answer == JOptionPane.YES_OPTION) {
					System.exit(0);
				}
			}
		};
		addWindowListener(winListener);
		
		setVisible(true);
	}
	
	private void initialize() {
		
		final JTabbedPane tabbedPane = new JTabbedPane(SwingConstants.TOP);
		getContentPane().add(tabbedPane, BorderLayout.NORTH);
		
		/*
		 * Panel Eingaben ......
		 */
		final JPanel panelEingaben = new JPanel();
		tabbedPane.addTab("Eingaben", null, panelEingaben, null);
		panelEingaben.setLayout(new BorderLayout(0, 0));
		
		final JLabel msgline2 = new JLabel("");
		final Dimension d = new Dimension(128, 10);
		msgline2.setMinimumSize(d);
		msgline2.setHorizontalAlignment(SwingConstants.CENTER);
		panelEingaben.add(msgline2, BorderLayout.SOUTH);
		
		final JPanel panelLogo = new JPanel();
		panelEingaben.add(panelLogo, BorderLayout.WEST);
		panelLogo.setLayout(new BorderLayout(0, 0));
		
		final JLabel lblLogo = new JLabel("");
		panelLogo.add(lblLogo, BorderLayout.NORTH);
		lblLogo.setIcon(new ImageIcon(VWEditionTeam.class
				.getResource("/klassen/logo.png")));
		lblLogo.setVerticalAlignment(SwingConstants.TOP);
		
		/*
		 * Copiright
		 */
		final JLabel lblCopyright = new JLabel("Copiright by VW Edition Team");
		panelLogo.add(lblCopyright, BorderLayout.SOUTH);
		lblCopyright.setHorizontalAlignment(SwingConstants.LEFT);
		
		final JPanel panel = new JPanel();
		panelEingaben.add(panel, BorderLayout.CENTER);
		panel.setLayout(new GridLayout(0, 2, 0, 0));
		panel.setBorder(new SoftBevelBorder(1));
		
		/*
		 * Panel Dateneingabe
		 */
		final JPanel panelDaten = new JPanel();
		panel.add(panelDaten);
		panelDaten.setLayout(new GridLayout(0, 2, 5, 5));
		
		final JPanel panelLabelDaten = new JPanel();
		panelDaten.add(panelLabelDaten);
		
		/*
		 * Panel Label Dateneingabe
		 */
		final JLabel lblStartnummer = new JLabel("Startnummer :");
		lblStartnummer.setHorizontalAlignment(SwingConstants.CENTER);
		
		final JLabel lblName = new JLabel("Name :");
		lblName.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.setLayout(new GridLayout(0, 1, 5, 5));
		panelLabelDaten.add(lblStartnummer);
		panelLabelDaten.add(lblName);
		
		final JLabel lblVorname = new JLabel("Vorname :");
		lblVorname.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblVorname);
		
		final JLabel lblFahrzeughersteller = new JLabel("Fahrzeughersteller :");
		lblFahrzeughersteller.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblFahrzeughersteller);
		
		final JLabel lblFahrzeugbezeichnung = new JLabel("Fahrzeugbezeichnung :");
		lblFahrzeugbezeichnung.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblFahrzeugbezeichnung);
		
		final JLabel lblPokalklasse = new JLabel("Pokalklasse :");
		lblPokalklasse.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblPokalklasse);
		
		final JLabel lblBaujahr = new JLabel("Baujahr :");
		lblBaujahr.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblBaujahr);
		
		final JLabel lblLeistungInPs = new JLabel("Leistung in PS :");
		lblLeistungInPs.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblLeistungInPs);
		
		final JLabel lblKennzeichen = new JLabel("Kennzeichen :");
		lblKennzeichen.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblKennzeichen);
		
		final JLabel lblWohnort = new JLabel("Wohnort :");
		lblWohnort.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblWohnort);
		
		final JLabel lblAnfahrtInKm = new JLabel("Anfahrt in Km :");
		lblAnfahrtInKm.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblAnfahrtInKm);
		
		final JLabel lblEmail = new JLabel("E-mail :");
		lblEmail.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblEmail);
		
		final JLabel lblVerein = new JLabel("Verein :");
		lblVerein.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelDaten.add(lblVerein);
		
		/*
		 * Panel Daten Eingabe
		 */
		final JPanel panelEingabenDaten = new JPanel();
		panelDaten.add(panelEingabenDaten);
		panelEingabenDaten.setLayout(new GridLayout(0, 1, 5, 5));
		
		spinnerStartnummer = new JSpinner(new SpinnerNumberModel(0, 0, 500, 1));
		panelEingabenDaten.add(spinnerStartnummer);
		
		txtName = new JTextField();
		panelEingabenDaten.add(txtName);
		txtName.setColumns(20);
		
		txtVorname = new JTextField();
		panelEingabenDaten.add(txtVorname);
		txtVorname.setColumns(20);
		
		comboBoxFahrzeughersteller = new JComboBox(new String[] {
				"Volkswagen",
				"Audi", "Seat", "Skoda"
		});
		comboBoxFahrzeughersteller.setEditable(true);
		panelEingabenDaten.add(comboBoxFahrzeughersteller);
		
		txtFahrzeugbezeichnung = new JTextField();
		panelEingabenDaten.add(txtFahrzeugbezeichnung);
		txtFahrzeugbezeichnung.setColumns(10);
		// Du hattest hier nochmal JComboBox davor stehen...initalisiert das
		// ding private neu und du kannst nicht mehr von aussen drauf zugreifen.
		// Du hast das Ding doch schon oben als JComboBox definiert******
		comboBoxPokalklasse = new JComboBox(types);
		panelEingabenDaten.add(comboBoxPokalklasse);
		
		spinnerBaujahr = new JSpinner(new SpinnerNumberModel(1995, 1985, 2012,
				1));
		panelEingabenDaten.add(spinnerBaujahr);
		
		spinnerLeistung = new JSpinner(new SpinnerNumberModel(150, 5, 1000, 10));
		panelEingabenDaten.add(spinnerLeistung);
		
		final JPanel panelKennzeichen = new JPanel();
		panelEingabenDaten.add(panelKennzeichen);
		panelKennzeichen.setLayout(new GridLayout(1, 3, 5, 5));
		
		txtKennzeichen1 = new JTextField();
		panelKennzeichen.add(txtKennzeichen1);
		txtKennzeichen1.setColumns(3);
		
		txtKennzeichen2 = new JTextField();
		panelKennzeichen.add(txtKennzeichen2);
		txtKennzeichen2.setColumns(3);
		
		txtKennzeichen3 = new JTextField();
		panelKennzeichen.add(txtKennzeichen3);
		txtKennzeichen3.setColumns(6);
		
		txtWohnort = new JTextField();
		panelEingabenDaten.add(txtWohnort);
		txtWohnort.setColumns(10);
		
		spinnerAnfahrt = new JSpinner(new SpinnerNumberModel(150, 0, 5000, 10));
		panelEingabenDaten.add(spinnerAnfahrt);
		
		txtEMail = new JTextField();
		panelEingabenDaten.add(txtEMail);
		txtEMail.setColumns(10);
		
		txtVerein = new JTextField();
		panelEingabenDaten.add(txtVerein);
		txtVerein.setColumns(10);
		
		/*
		 * Panel Auswertungseingabe
		 */
		final JPanel panelAuswertung = new JPanel();
		panel.add(panelAuswertung);
		panelAuswertung.setLayout(new GridLayout(0, 2, 5, 5));
		
		/*
		 * Panel Label Auswertungseingabe
		 */

		final JPanel panelLabelAuswertung = new JPanel();
		panelAuswertung.add(panelLabelAuswertung);
		panelLabelAuswertung.setLayout(new GridLayout(0, 1, 5, 5));
		
		final JLabel lblNewLabel = new JLabel("");
		panelLabelAuswertung.add(lblNewLabel);
		
		final JLabel lblOptischerGesamteindruck = new JLabel(
				"Optischer Gesamteindruck :");
		lblOptischerGesamteindruck
				.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblOptischerGesamteindruck);
		
		final JLabel lblFelgen = new JLabel("Felgen :");
		lblFelgen.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblFelgen);
		
		final JLabel lblLackierungairbrush = new JLabel("Lackierung/Airbrush :");
		lblLackierungairbrush.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblLackierungairbrush);
		
		final JLabel lblKarosseriearbeiten = new JLabel("Karosseriearbeiten :");
		lblKarosseriearbeiten.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblKarosseriearbeiten);
		
		final JLabel lblMotorUndMotorraum = new JLabel("Motor und Motorraum :");
		lblMotorUndMotorraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblMotorUndMotorraum);
		
		final JLabel lblInnenraum = new JLabel("Innenraum :");
		lblInnenraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblInnenraum);
		
		final JLabel lblKofferraum = new JLabel("Kofferraum :");
		lblKofferraum.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblKofferraum);
		
		final JLabel lblEigeneIdeenshoweffekte = new JLabel(
				"Eigene Ideen/Show-Effekte :");
		lblEigeneIdeenshoweffekte.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblEigeneIdeenshoweffekte);
		
		final JLabel lblWarndreieck = new JLabel("Warndreieck :");
		lblWarndreieck.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblWarndreieck);
		
		final JLabel lblVerbandskasten = new JLabel("Verbandskasten :");
		lblVerbandskasten.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblVerbandskasten);
		
		final JLabel lblGesamtpunkte = new JLabel("Gesamtpunkte :");
		lblGesamtpunkte.setHorizontalAlignment(SwingConstants.CENTER);
		panelLabelAuswertung.add(lblGesamtpunkte);
		
		final JLabel lblNewLabel_2 = new JLabel("");
		panelLabelAuswertung.add(lblNewLabel_2);
		
		/*
		 * Panel Auswertungseingaben
		 */
		final JPanel panelEingabenAuswertung = new JPanel();
		panelAuswertung.add(panelEingabenAuswertung);
		panelEingabenAuswertung.setLayout(new GridLayout(0, 1, 5, 5));
		
		final JLabel lblNewLabel_1 = new JLabel("");
		panelEingabenAuswertung.add(lblNewLabel_1);
		
		spinnerOptischerGesamteindruck = new JSpinner(new SpinnerNumberModel(5,
				0, 10, 1));
		panelEingabenAuswertung.add(spinnerOptischerGesamteindruck);
		
		spinnerFelgen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerFelgen);
		
		spinnerLackierung = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerLackierung);
		
		spinnerKarosseriearbeiten = new JSpinner(new SpinnerNumberModel(5, 0,
				10, 1));
		panelEingabenAuswertung.add(spinnerKarosseriearbeiten);
		
		spinnerMotorUndMotorraum = new JSpinner(new SpinnerNumberModel(5, 0,
				10, 1));
		panelEingabenAuswertung.add(spinnerMotorUndMotorraum);
		
		spinnerInnenraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerInnenraum);
		
		spinnerKofferraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerKofferraum);
		
		spinnerEigeneIdeen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
		panelEingabenAuswertung.add(spinnerEigeneIdeen);
		
		spinnerWarndreieck = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
		panelEingabenAuswertung.add(spinnerWarndreieck);
		
		spinnerVerbandskasten = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
		panelEingabenAuswertung.add(spinnerVerbandskasten);
		
		final JProgressBar progressBar = new JProgressBar();
		progressBar.setMaximum(90);
		panelEingabenAuswertung.add(progressBar);
		
		final JLabel lblNewLabel_3 = new JLabel("");
		panelEingabenAuswertung.add(lblNewLabel_3);
		
		/*
		 * Panel Hinzufuegen Button
		 */
		final JPanel panelEast = new JPanel();
		panelEingaben.add(panelEast, BorderLayout.EAST);
		panelEast.setLayout(new BorderLayout(0, 0));
		
		final JButton btnHinzufuegen1 = new JButton("Hinzuf\u00FCgen");
		btnHinzufuegen1.addActionListener(new AddFahrzeugAction());
		panelEast.add(btnHinzufuegen1, BorderLayout.SOUTH);
		
		/*
		 * Panel Datenbank
		 */
		final JPanel panelDatenbank = new JPanel();
		tabbedPane.addTab("Alle Fahrzeuge", null, panelDatenbank, null);
		panelDatenbank.setLayout(new BorderLayout(0, 0));
		
		final JTabbedPane tabbedPane_1 = new JTabbedPane(SwingConstants.TOP);
		panelDatenbank.add(tabbedPane_1, BorderLayout.CENTER);
		
		final JPanel ReloadAlleFahrzeuge = new JPanel();
		panelDatenbank.add(ReloadAlleFahrzeuge, BorderLayout.SOUTH);
		ReloadAlleFahrzeuge.setLayout(new BorderLayout(0, 0));
		
		final JButton btnReloadAlleFahrzeuge2 = new JButton("Aktualisieren");
		ReloadAlleFahrzeuge.add(btnReloadAlleFahrzeuge2, BorderLayout.NORTH);
		btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());
		
		/*
		 * Panels
		 */
		addTabPanel(tabbedPane_1, null); // All
		for(final String type : types) {
			addTabPanel(tabbedPane_1, type); // Custom
		}
	}
	
	private void addTabPanel(final JTabbedPane tabbedPane, final String name) {
		final JPanel panel = new JPanel();
		tabbedPane.addTab(name, null, panel, null);
		panel.setLayout(new BorderLayout(0, 0));
		
		table = new JTable(getFillTable(name));
		table.setAutoCreateRowSorter(true);
		scrollTable = new JScrollPane(table);
		
		panel.add(scrollTable);
	}
	
	/*
	 * ActionListener
	 */

	private class AddFahrzeugAction implements ActionListener
	{
		
		@Override
		public void actionPerformed(final ActionEvent e) {
			
			// System.out.println("start hinzufï¿½gen");
			final int startnummer = (Integer) spinnerStartnummer.getValue();
			final String name = txtName.getText();
			final String vorname = txtVorname.getText();
			final String fahrzeughersteller = (String) comboBoxFahrzeughersteller
					.getSelectedItem().toString();
			final String fahrzeugbezeichnung = txtFahrzeugbezeichnung.getText();
			final String pokalklasse = comboBoxPokalklasse.getSelectedItem()
					.toString();
			final int baujahr = (Integer) spinnerBaujahr.getValue();
			final int leistung = (Integer) spinnerLeistung.getValue();
			final String kennzeichen = (txtKennzeichen1.getText() + "-"
					+ txtKennzeichen2.getText() + "-" + txtKennzeichen3
					.getText());
			final String wohnort = txtWohnort.getText();
			final int anfahrt = (Integer) spinnerAnfahrt.getValue();
			final String eMail = txtEMail.getText();
			final String verein = txtVerein.getText();
			final int optischerGesamteindruck = (Integer) spinnerOptischerGesamteindruck
					.getValue();
			final int felgen = (Integer) spinnerFelgen.getValue();
			final int lackierung = (Integer) spinnerLackierung.getValue();
			final int karosseriearbeiten = (Integer) spinnerKarosseriearbeiten
					.getValue();
			final int motorUndMotorraum = (Integer) spinnerMotorUndMotorraum
					.getValue();
			final int innenraum = (Integer) spinnerInnenraum.getValue();
			final int kofferraum = (Integer) spinnerKofferraum.getValue();
			final int eigeneIdeen = (Integer) spinnerEigeneIdeen.getValue();
			final int warndreieck = (Integer) spinnerWarndreieck.getValue();
			final int verbandskasten = (Integer) spinnerVerbandskasten.getValue();
			final int gesamtpunkte = (Integer) optischerGesamteindruck + felgen
					+ lackierung + karosseriearbeiten + motorUndMotorraum
					+ innenraum + kofferraum + eigeneIdeen + warndreieck
					+ verbandskasten;
			
			String stm;
			// System.out.println("vor try");
			try {
				stm = "insert into treffen2012 (startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte) values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
				final java.sql.PreparedStatement ps = con.prepareStatement(stm);
				ps.setInt(1, startnummer);
				ps.setString(2, name);
				ps.setString(3, vorname);
				ps.setString(4, fahrzeughersteller);
				ps.setString(5, fahrzeugbezeichnung);
				ps.setString(6, pokalklasse);
				ps.setInt(7, baujahr);
				ps.setInt(8, leistung);
				ps.setString(9, kennzeichen);
				ps.setString(10, wohnort);
				ps.setInt(11, anfahrt);
				ps.setString(12, eMail);
				ps.setString(13, verein);
				ps.setInt(14, optischerGesamteindruck);
				ps.setInt(15, felgen);
				ps.setInt(16, lackierung);
				ps.setInt(17, karosseriearbeiten);
				ps.setInt(18, motorUndMotorraum);
				ps.setInt(19, innenraum);
				ps.setInt(20, kofferraum);
				ps.setInt(21, eigeneIdeen);
				ps.setInt(22, warndreieck);
				ps.setInt(23, verbandskasten);
				ps.setInt(24, gesamtpunkte);
				
				// System.out.println("vor Statement");
				ps.executeUpdate();
				
				stmt.close();
				// System.out.println("nach Update");
				
				final InfoPopup popup1 = new InfoPopup(VWEditionTeam.this, "Fahrzeug hinzugefügt");
				popup1.setTitle("Hinzugefügt");
				popup1.setLocationRelativeTo(VWEditionTeam.this);
				final Timer timer = new Timer(1000, new ActionListener()
										{
					@Override
					public void actionPerformed(final ActionEvent e) {
						popup1.setVisible(false);
						popup1.dispose();
					}
				});
				timer.setRepeats(false);
				timer.start();
				
				popup1.setVisible(true); // if modal, application will pause
				// here
				
				txtName.setText("");
				txtVorname.setText("");
				txtKennzeichen1.setText("");
				txtKennzeichen2.setText("");
				txtKennzeichen3.setText("");
				txtFahrzeugbezeichnung.setText("");
				txtWohnort.setText("");
				txtVerein.setText("");
				txtEMail.setText("");
			} catch(final Exception e1) {
				
				JOptionPane.showMessageDialog(VWEditionTeam.this,
						"Fehler beim hinzufï¿½gen******", "Warnung",
						JOptionPane.ERROR_MESSAGE);
				
			}
			
		}
		
	}
	
	public FillTable getFillTable(final String name) {
		final Statement st = con.createStatement();
		ResultSet rs = null;
		if(name != null) {
			rs = st
					.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='"
							+ name + "'");
		} else {
			rs = st
					.executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012");
		}
		final FillTable model = new FillTable(rs);
		return model;
	}
	
	/*
	 * Action Listener
	 */
	private class DatenbankRefreshAction implements ActionListener
	{
		
		@Override
		public void actionPerformed(final ActionEvent e) {
			try {
				System.out.println("Button geklickt2!");
				
			} catch(final Exception e1) {
				System.out.println("DatenbankRefreshAction fehler");
				e1.printStackTrace();
			}
			
		}
	}
}
```

Komme ich nun also mal zu deinem Problem. Das lässt sich wahrscheinlich durch den einfachen Aufruf von table.updateUI(); lösen. 

Gruß

Fabio


----------



## Duffner (27. Juni 2012)

bekomme es nicht hin, ich steh warscheinlich gerade aufn Schlauch und seh den fehler nicht


```
private class DatenbankRefreshAction implements ActionListener
    {
        
        @Override
        public void actionPerformed(final ActionEvent e) {
            try {
                System.out.println("Button geklickt2!");
                table.updateUI();
            } catch(final Exception e1) {
                System.out.println("DatenbankRefreshAction fehler");
                e1.printStackTrace();
            }
            
        }
    }
```

was muss in den klammern stehen das ich heir im forum nen java code so posten kann wie du?


----------



## Akeshihiro (27. Juni 2012)

Ein die Java-Tags verwenden
[code=java][/code]


----------



## Fabio Hellmann (27. Juni 2012)

So kannst du das nicht machen, da du so nur die letzte Tabelle aktuallisieren würdest. Ich bin mir momentan auch nicht sicher, ob mit der Methode nur die Oberfläche oder auch die Daten aktuallisiert werden. Für Letzteres würde ich wahrscheinlich doch eher die Methode des TableModels "fireTableDataChanged()" her nehmen. Dafür musst du alle Models in einer Liste abspeichern und über diese dann drüber iterieren, um das Event abzufeuern.

```
private final List<FillTable> modelList = new ArrayList<FillTable>();

    // .... Code ....

    public FillTable getFillTable(final String name) {
        final Statement st = con.createStatement();
        ResultSet rs = null;
        if(name != null) {
            rs = st
                    .executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='"
                            + name + "'");
        } else {
            rs = st
                    .executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012");
        }
        final FillTable model = new FillTable(rs);
        modelList.add(model); // zur Liste hinzufügen
        return model;
    }
```


```
private class DatenbankRefreshAction implements ActionListener
    {
        
        @Override
        public void actionPerformed(final ActionEvent e) {
            try {
                System.out.println("Button geklickt2!");
                for(FillTable model : modelList) {
                    model.fireTableDataChanged();
                }
            } catch(final Exception e1) {
                System.out.println("DatenbankRefreshAction fehler");
                e1.printStackTrace();
            }
            
        }
    }
```

So denke ich, dass es funktionieren sollte.


----------



## Duffner (27. Juni 2012)

sry, aber da weiss ich überhaupt nichts mit anzufangen, hilfst du mir bitte noch darüber, ich kenne mich in java nicht so richtig aus, hast du ja sicherlich schon bemerkt^^. ich hab mir das nur so beigebracht, um dieses programm zu schreiben. und ich brauch es leider schon am sonntag, und leider ist mein englisch auch nicht so gut das ich alles in der api so einfach verstehe.

was muss da bei //code rein? ich versteh das gerade nicht!


----------



## Fabio Hellmann (27. Juni 2012)

Das sollte lediglich darstellen, dass dort der Code steht, der zwischen der Methode und der Variable steht. Also dein Konstruktor, initialisieren, etc. .
Du musst einfach die Methode "getFillTable" durch die, die ich gerade geschrieben habe ersetzen und die "private final List..." zu den anderen Variablen am Klassenanfang schreiben. Und natürlich den ActionListener "DatenbankRefreshAction" noch aktuallisieren.


----------



## Duffner (27. Juni 2012)

Also das funktioniert nicht, habe alles eingebaut wie gesagt, aber die jTables aktualisieren sich nicht.


```
package klassen;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
 
import javax.swing.*;
import javax.swing.border.SoftBevelBorder;
 
 
public final class VWEditionTeam extends JFrame
{
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private JTextField txtName, txtVorname, txtKennzeichen1, txtKennzeichen2,
            txtKennzeichen3, txtFahrzeugbezeichnung, txtWohnort, txtVerein,
            txtEMail;
    
    // darf nicht private sein da der ActionListener ne eigene Klasse ist und
    // hier nicht zugreifen kann!
    private JSpinner spinnerStartnummer, spinnerLeistung, spinnerBaujahr,
            spinnerAnfahrt, spinnerOptischerGesamteindruck, spinnerFelgen,
            spinnerLackierung, spinnerKarosseriearbeiten,
            spinnerMotorUndMotorraum, spinnerInnenraum, spinnerKofferraum,
            spinnerEigeneIdeen, spinnerWarndreieck, spinnerVerbandskasten;
    // darf nicht private sein da der ActionListener ne eigene Klasse ist und
    // hier nicht zugreifen kann!
    @SuppressWarnings("rawtypes")
	private JComboBox comboBoxFahrzeughersteller, comboBoxPokalklasse;
    private JScrollPane scrollTable;
    private JTable table;
    private JButton btnHinzufuegen, btnReloadAlleFahrzeuge2;
    private final Connection con;
    private Statement stmt = null;
    private final List<FillTable> modelList = new ArrayList<FillTable>();
    
    private final String[] types = {
            "Polo 1/2/3",
            "Polo 6N + Facelift", "Polo 9N + Facelift", "Golf 1", "Golf 2",
            "Golf 3", "Golf 4", "Golf 5", "Golf 6", "Golf Cabrio",
            "Jetta/Vento", "Bora", "Scirocco 1/2", "Scirocco 3", "Corrado",
            "Passat 35i + Facelift", "Passat 3B/3BG", "Passat 3C/CC",
            "VW Bus", "VW Cabrio", "Kï¿½fer", "VW Sonstige", "Seat", "Skoda",
            "Audi 80/90", "Audi 100/200", "Audi A3/Sportback", "Audi A4",
            "Audi A6", "Audi A8/V8", "Audi Cabrio", "Audi Sonstige",
            "Zusatz Pokal1", "Zusatz Pokal2", "Zusatz Pokal3",
            "Zusatz Pokal4", "Rennbahn"
    };
    
    /*
     * Create the application.
     */
 
    public VWEditionTeam() throws Exception {
        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("VW Edition Team");
        
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        con = DriverManager.getConnection(
                "jdbc:mysql://localhost/vw_edition_team", "root",
                "Tauchprinzip");
        
        stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        if(!con.isClosed())
            System.out.println("Successfully connected to MySQL server...");
        
        initialize();
        
        if(btnReloadAlleFahrzeuge2 != null && btnHinzufuegen != null) {
            btnHinzufuegen.addActionListener(new AddFahrzeugAction());
            btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());
        }
        
        pack();
        setLocationRelativeTo(null);
        
        final WindowListener winListener = new WindowAdapter()
                        {
            @Override
            public void windowClosing(final WindowEvent e) {
                final int answer = JOptionPane.showConfirmDialog(VWEditionTeam.this,
                        "Wollen Sie das Programm wirklich beenden?",
                        "Wirklich beenden?", JOptionPane.YES_NO_OPTION);
                if(answer == JOptionPane.YES_OPTION) {
                    System.exit(0);
                }
            }
        };
        addWindowListener(winListener);
        
        setVisible(true);
    }
    
    @SuppressWarnings({ "unchecked", "rawtypes" })
	private void initialize() throws Exception {
        
        final JTabbedPane tabbedPane = new JTabbedPane(SwingConstants.TOP);
        getContentPane().add(tabbedPane, BorderLayout.NORTH);
        
        /*
         * Panel Eingaben ......
         */
        final JPanel panelEingaben = new JPanel();
        tabbedPane.addTab("Eingaben", null, panelEingaben, null);
        panelEingaben.setLayout(new BorderLayout(0, 0));
        
        final JLabel msgline2 = new JLabel("");
        final Dimension d = new Dimension(128, 10);
        msgline2.setMinimumSize(d);
        msgline2.setHorizontalAlignment(SwingConstants.CENTER);
        panelEingaben.add(msgline2, BorderLayout.SOUTH);
        
        final JPanel panelLogo = new JPanel();
        panelEingaben.add(panelLogo, BorderLayout.WEST);
        panelLogo.setLayout(new BorderLayout(0, 0));
        
        final JLabel lblLogo = new JLabel("");
        panelLogo.add(lblLogo, BorderLayout.NORTH);
        lblLogo.setIcon(new ImageIcon(VWEditionTeam.class
                .getResource("/klassen/logo.png")));
        lblLogo.setVerticalAlignment(SwingConstants.TOP);
        
        /*
         * Copiright
         */
        final JLabel lblCopyright = new JLabel("Copiright by VW Edition Team");
        panelLogo.add(lblCopyright, BorderLayout.SOUTH);
        lblCopyright.setHorizontalAlignment(SwingConstants.LEFT);
        
        final JPanel panel = new JPanel();
        panelEingaben.add(panel, BorderLayout.CENTER);
        panel.setLayout(new GridLayout(0, 2, 0, 0));
        panel.setBorder(new SoftBevelBorder(1));
        
        /*
         * Panel Dateneingabe
         */
        final JPanel panelDaten = new JPanel();
        panel.add(panelDaten);
        panelDaten.setLayout(new GridLayout(0, 2, 5, 5));
        
        final JPanel panelLabelDaten = new JPanel();
        panelDaten.add(panelLabelDaten);
        
        /*
         * Panel Label Dateneingabe
         */
        final JLabel lblStartnummer = new JLabel("Startnummer :");
        lblStartnummer.setHorizontalAlignment(SwingConstants.CENTER);
        
        final JLabel lblName = new JLabel("Name :");
        lblName.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.setLayout(new GridLayout(0, 1, 5, 5));
        panelLabelDaten.add(lblStartnummer);
        panelLabelDaten.add(lblName);
        
        final JLabel lblVorname = new JLabel("Vorname :");
        lblVorname.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblVorname);
        
        final JLabel lblFahrzeughersteller = new JLabel("Fahrzeughersteller :");
        lblFahrzeughersteller.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblFahrzeughersteller);
        
        final JLabel lblFahrzeugbezeichnung = new JLabel("Fahrzeugbezeichnung :");
        lblFahrzeugbezeichnung.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblFahrzeugbezeichnung);
        
        final JLabel lblPokalklasse = new JLabel("Pokalklasse :");
        lblPokalklasse.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblPokalklasse);
        
        final JLabel lblBaujahr = new JLabel("Baujahr :");
        lblBaujahr.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblBaujahr);
        
        final JLabel lblLeistungInPs = new JLabel("Leistung in PS :");
        lblLeistungInPs.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblLeistungInPs);
        
        final JLabel lblKennzeichen = new JLabel("Kennzeichen :");
        lblKennzeichen.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblKennzeichen);
        
        final JLabel lblWohnort = new JLabel("Wohnort :");
        lblWohnort.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblWohnort);
        
        final JLabel lblAnfahrtInKm = new JLabel("Anfahrt in Km :");
        lblAnfahrtInKm.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblAnfahrtInKm);
        
        final JLabel lblEmail = new JLabel("E-mail :");
        lblEmail.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblEmail);
        
        final JLabel lblVerein = new JLabel("Verein :");
        lblVerein.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelDaten.add(lblVerein);
        
        /*
         * Panel Daten Eingabe
         */
        final JPanel panelEingabenDaten = new JPanel();
        panelDaten.add(panelEingabenDaten);
        panelEingabenDaten.setLayout(new GridLayout(0, 1, 5, 5));
        
        spinnerStartnummer = new JSpinner(new SpinnerNumberModel(0, 0, 500, 1));
        panelEingabenDaten.add(spinnerStartnummer);
        
        txtName = new JTextField();
        panelEingabenDaten.add(txtName);
        txtName.setColumns(20);
        
        txtVorname = new JTextField();
        panelEingabenDaten.add(txtVorname);
        txtVorname.setColumns(20);
        
        comboBoxFahrzeughersteller = new JComboBox(new String[] {
                "Volkswagen",
                "Audi", "Seat", "Skoda"
        });
        comboBoxFahrzeughersteller.setEditable(true);
        panelEingabenDaten.add(comboBoxFahrzeughersteller);
        
        txtFahrzeugbezeichnung = new JTextField();
        panelEingabenDaten.add(txtFahrzeugbezeichnung);
        txtFahrzeugbezeichnung.setColumns(10);
        // Du hattest hier nochmal JComboBox davor stehen...initalisiert das
        // ding private neu und du kannst nicht mehr von aussen drauf zugreifen.
        // Du hast das Ding doch schon oben als JComboBox definiert******
        comboBoxPokalklasse = new JComboBox(types);
        panelEingabenDaten.add(comboBoxPokalklasse);
        
        spinnerBaujahr = new JSpinner(new SpinnerNumberModel(1995, 1985, 2012,
                1));
        panelEingabenDaten.add(spinnerBaujahr);
        
        spinnerLeistung = new JSpinner(new SpinnerNumberModel(150, 5, 1000, 10));
        panelEingabenDaten.add(spinnerLeistung);
        
        final JPanel panelKennzeichen = new JPanel();
        panelEingabenDaten.add(panelKennzeichen);
        panelKennzeichen.setLayout(new GridLayout(1, 3, 5, 5));
        
        txtKennzeichen1 = new JTextField();
        panelKennzeichen.add(txtKennzeichen1);
        txtKennzeichen1.setColumns(3);
        
        txtKennzeichen2 = new JTextField();
        panelKennzeichen.add(txtKennzeichen2);
        txtKennzeichen2.setColumns(3);
        
        txtKennzeichen3 = new JTextField();
        panelKennzeichen.add(txtKennzeichen3);
        txtKennzeichen3.setColumns(6);
        
        txtWohnort = new JTextField();
        panelEingabenDaten.add(txtWohnort);
        txtWohnort.setColumns(10);
        
        spinnerAnfahrt = new JSpinner(new SpinnerNumberModel(150, 0, 5000, 10));
        panelEingabenDaten.add(spinnerAnfahrt);
        
        txtEMail = new JTextField();
        panelEingabenDaten.add(txtEMail);
        txtEMail.setColumns(10);
        
        txtVerein = new JTextField();
        panelEingabenDaten.add(txtVerein);
        txtVerein.setColumns(10);
        
        /*
         * Panel Auswertungseingabe
         */
        final JPanel panelAuswertung = new JPanel();
        panel.add(panelAuswertung);
        panelAuswertung.setLayout(new GridLayout(0, 2, 5, 5));
        
        /*
         * Panel Label Auswertungseingabe
         */
 
        final JPanel panelLabelAuswertung = new JPanel();
        panelAuswertung.add(panelLabelAuswertung);
        panelLabelAuswertung.setLayout(new GridLayout(0, 1, 5, 5));
        
        final JLabel lblNewLabel = new JLabel("");
        panelLabelAuswertung.add(lblNewLabel);
        
        final JLabel lblOptischerGesamteindruck = new JLabel(
                "Optischer Gesamteindruck :");
        lblOptischerGesamteindruck
                .setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblOptischerGesamteindruck);
        
        final JLabel lblFelgen = new JLabel("Felgen :");
        lblFelgen.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblFelgen);
        
        final JLabel lblLackierungairbrush = new JLabel("Lackierung/Airbrush :");
        lblLackierungairbrush.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblLackierungairbrush);
        
        final JLabel lblKarosseriearbeiten = new JLabel("Karosseriearbeiten :");
        lblKarosseriearbeiten.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblKarosseriearbeiten);
        
        final JLabel lblMotorUndMotorraum = new JLabel("Motor und Motorraum :");
        lblMotorUndMotorraum.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblMotorUndMotorraum);
        
        final JLabel lblInnenraum = new JLabel("Innenraum :");
        lblInnenraum.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblInnenraum);
        
        final JLabel lblKofferraum = new JLabel("Kofferraum :");
        lblKofferraum.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblKofferraum);
        
        final JLabel lblEigeneIdeenshoweffekte = new JLabel(
                "Eigene Ideen/Show-Effekte :");
        lblEigeneIdeenshoweffekte.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblEigeneIdeenshoweffekte);
        
        final JLabel lblWarndreieck = new JLabel("Warndreieck :");
        lblWarndreieck.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblWarndreieck);
        
        final JLabel lblVerbandskasten = new JLabel("Verbandskasten :");
        lblVerbandskasten.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblVerbandskasten);
        
        final JLabel lblGesamtpunkte = new JLabel("Gesamtpunkte :");
        lblGesamtpunkte.setHorizontalAlignment(SwingConstants.CENTER);
        panelLabelAuswertung.add(lblGesamtpunkte);
        
        final JLabel lblNewLabel_2 = new JLabel("");
        panelLabelAuswertung.add(lblNewLabel_2);
        
        /*
         * Panel Auswertungseingaben
         */
        final JPanel panelEingabenAuswertung = new JPanel();
        panelAuswertung.add(panelEingabenAuswertung);
        panelEingabenAuswertung.setLayout(new GridLayout(0, 1, 5, 5));
        
        final JLabel lblNewLabel_1 = new JLabel("");
        panelEingabenAuswertung.add(lblNewLabel_1);
        
        spinnerOptischerGesamteindruck = new JSpinner(new SpinnerNumberModel(5,
                0, 10, 1));
        panelEingabenAuswertung.add(spinnerOptischerGesamteindruck);
        
        spinnerFelgen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
        panelEingabenAuswertung.add(spinnerFelgen);
        
        spinnerLackierung = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
        panelEingabenAuswertung.add(spinnerLackierung);
        
        spinnerKarosseriearbeiten = new JSpinner(new SpinnerNumberModel(5, 0,
                10, 1));
        panelEingabenAuswertung.add(spinnerKarosseriearbeiten);
        
        spinnerMotorUndMotorraum = new JSpinner(new SpinnerNumberModel(5, 0,
                10, 1));
        panelEingabenAuswertung.add(spinnerMotorUndMotorraum);
        
        spinnerInnenraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
        panelEingabenAuswertung.add(spinnerInnenraum);
        
        spinnerKofferraum = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
        panelEingabenAuswertung.add(spinnerKofferraum);
        
        spinnerEigeneIdeen = new JSpinner(new SpinnerNumberModel(5, 0, 10, 1));
        panelEingabenAuswertung.add(spinnerEigeneIdeen);
        
        spinnerWarndreieck = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
        panelEingabenAuswertung.add(spinnerWarndreieck);
        
        spinnerVerbandskasten = new JSpinner(new SpinnerNumberModel(0, 0, 5, 5));
        panelEingabenAuswertung.add(spinnerVerbandskasten);
        
        final JProgressBar progressBar = new JProgressBar();
        progressBar.setMaximum(90);
        panelEingabenAuswertung.add(progressBar);
        
        final JLabel lblNewLabel_3 = new JLabel("");
        panelEingabenAuswertung.add(lblNewLabel_3);
        
        /*
         * Panel Hinzufuegen Button
         */
        final JPanel panelEast = new JPanel();
        panelEingaben.add(panelEast, BorderLayout.EAST);
        panelEast.setLayout(new BorderLayout(0, 0));
        
        final JButton btnHinzufuegen1 = new JButton("Hinzuf\u00FCgen");
        btnHinzufuegen1.addActionListener(new AddFahrzeugAction());
        panelEast.add(btnHinzufuegen1, BorderLayout.SOUTH);
        
        /*
         * Panel Datenbank
         */
        final JPanel panelDatenbank = new JPanel();
        tabbedPane.addTab("Alle Fahrzeuge", null, panelDatenbank, null);
        panelDatenbank.setLayout(new BorderLayout(0, 0));
        
        final JTabbedPane tabbedPane_1 = new JTabbedPane(SwingConstants.TOP);
        panelDatenbank.add(tabbedPane_1, BorderLayout.CENTER);
        
        final JPanel ReloadAlleFahrzeuge = new JPanel();
        panelDatenbank.add(ReloadAlleFahrzeuge, BorderLayout.SOUTH);
        ReloadAlleFahrzeuge.setLayout(new BorderLayout(0, 0));
        
        final JButton btnReloadAlleFahrzeuge2 = new JButton("Aktualisieren");
        ReloadAlleFahrzeuge.add(btnReloadAlleFahrzeuge2, BorderLayout.NORTH);
        btnReloadAlleFahrzeuge2.addActionListener(new DatenbankRefreshAction());
        
        /*
         * Panels
         */
        addTabPanel(tabbedPane_1, null); // All
        for(final String type : types) {
            addTabPanel(tabbedPane_1, type); // Custom
        }
    }
    
    private void addTabPanel(final JTabbedPane tabbedPane, final String name) throws Exception {
        final JPanel panel = new JPanel();
        tabbedPane.addTab(name, null, panel, null);
        panel.setLayout(new BorderLayout(0, 0));
        
        table = new JTable(getFillTable(name));
        table.setAutoCreateRowSorter(true);
        scrollTable = new JScrollPane(table);
        
        panel.add(scrollTable);
    }
    
    /*
     * ActionListener
     */
 
    private class AddFahrzeugAction implements ActionListener
    {
        
        @Override
        public void actionPerformed(final ActionEvent e) {
            
            // System.out.println("start hinzufï¿½gen");
            final int startnummer = (Integer) spinnerStartnummer.getValue();
            final String name = txtName.getText();
            final String vorname = txtVorname.getText();
            final String fahrzeughersteller = (String) comboBoxFahrzeughersteller
                    .getSelectedItem().toString();
            final String fahrzeugbezeichnung = txtFahrzeugbezeichnung.getText();
            final String pokalklasse = comboBoxPokalklasse.getSelectedItem()
                    .toString();
            final int baujahr = (Integer) spinnerBaujahr.getValue();
            final int leistung = (Integer) spinnerLeistung.getValue();
            final String kennzeichen = (txtKennzeichen1.getText() + "-"
                    + txtKennzeichen2.getText() + "-" + txtKennzeichen3
                    .getText());
            final String wohnort = txtWohnort.getText();
            final int anfahrt = (Integer) spinnerAnfahrt.getValue();
            final String eMail = txtEMail.getText();
            final String verein = txtVerein.getText();
            final int optischerGesamteindruck = (Integer) spinnerOptischerGesamteindruck
                    .getValue();
            final int felgen = (Integer) spinnerFelgen.getValue();
            final int lackierung = (Integer) spinnerLackierung.getValue();
            final int karosseriearbeiten = (Integer) spinnerKarosseriearbeiten
                    .getValue();
            final int motorUndMotorraum = (Integer) spinnerMotorUndMotorraum
                    .getValue();
            final int innenraum = (Integer) spinnerInnenraum.getValue();
            final int kofferraum = (Integer) spinnerKofferraum.getValue();
            final int eigeneIdeen = (Integer) spinnerEigeneIdeen.getValue();
            final int warndreieck = (Integer) spinnerWarndreieck.getValue();
            final int verbandskasten = (Integer) spinnerVerbandskasten.getValue();
            final int gesamtpunkte = (Integer) optischerGesamteindruck + felgen
                    + lackierung + karosseriearbeiten + motorUndMotorraum
                    + innenraum + kofferraum + eigeneIdeen + warndreieck
                    + verbandskasten;
            
            String stm;
            // System.out.println("vor try");
            try {
                stm = "insert into treffen2012 (startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte) values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                final java.sql.PreparedStatement ps = con.prepareStatement(stm);
                ps.setInt(1, startnummer);
                ps.setString(2, name);
                ps.setString(3, vorname);
                ps.setString(4, fahrzeughersteller);
                ps.setString(5, fahrzeugbezeichnung);
                ps.setString(6, pokalklasse);
                ps.setInt(7, baujahr);
                ps.setInt(8, leistung);
                ps.setString(9, kennzeichen);
                ps.setString(10, wohnort);
                ps.setInt(11, anfahrt);
                ps.setString(12, eMail);
                ps.setString(13, verein);
                ps.setInt(14, optischerGesamteindruck);
                ps.setInt(15, felgen);
                ps.setInt(16, lackierung);
                ps.setInt(17, karosseriearbeiten);
                ps.setInt(18, motorUndMotorraum);
                ps.setInt(19, innenraum);
                ps.setInt(20, kofferraum);
                ps.setInt(21, eigeneIdeen);
                ps.setInt(22, warndreieck);
                ps.setInt(23, verbandskasten);
                ps.setInt(24, gesamtpunkte);
                
                // System.out.println("vor Statement");
                ps.executeUpdate();
                
                stmt.close();
                // System.out.println("nach Update");
                
                final InfoPopup popup1 = new InfoPopup(VWEditionTeam.this, "Fahrzeug hinzugefügt");
                popup1.setTitle("Hinzugefügt");
                popup1.setLocationRelativeTo(VWEditionTeam.this);
                final Timer timer = new Timer(1000, new ActionListener()
                                        {
                    @Override
                    public void actionPerformed(final ActionEvent e) {
                        popup1.setVisible(false);
                        popup1.dispose();
                    }
                });
                timer.setRepeats(false);
                timer.start();
                
                popup1.setVisible(true); // if modal, application will pause
                // here
                
                txtName.setText("");
                txtVorname.setText("");
                txtKennzeichen1.setText("");
                txtKennzeichen2.setText("");
                txtKennzeichen3.setText("");
                txtFahrzeugbezeichnung.setText("");
                txtWohnort.setText("");
                txtVerein.setText("");
                txtEMail.setText("");
            } catch(final Exception e1) {
                
                JOptionPane.showMessageDialog(VWEditionTeam.this,
                        "Fehler beim hinzufï¿½gen******", "Warnung",
                        JOptionPane.ERROR_MESSAGE);
                
            }
            
        }
        
    }
    
    public FillTable getFillTable(final String name) throws Exception {
        final Statement st = con.createStatement();
        ResultSet rs = null;
        if(name != null) {
            rs = st
                    .executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012 WHERE pokalklasse='"
                            + name + "'");
        } else {
            rs = st
                    .executeQuery("select startnummer, name, vorname, fahrzeughersteller, fahrzeugbezeichnung, pokalklasse, baujahr, leistung, kennzeichen, wohnort, anfahrt, eMail, verein, optischerGesamteindruck, felgen, lackierung_Airbrush, karosseriearbeiten, motorUndMotorraum, innenraum, kofferraum, eigeneIdeen, warndreieck, verbandskasten,gesamtpunkte from treffen2012");
        }
        final FillTable model = new FillTable(rs);
        modelList.add(model); // zur Liste hinzufügen
        return model;
    }
    
    /*
     * Action Listener
     */
    private class DatenbankRefreshAction implements ActionListener
    {
        
        @Override
        public void actionPerformed(final ActionEvent e) {
            try {
                System.out.println("Button geklickt2!");
                for(FillTable model : modelList) {
                    model.fireTableDataChanged();
                }
            } catch(final Exception e1) {
                System.out.println("DatenbankRefreshAction fehler");
                e1.printStackTrace();
            }
            
        }
    }
}
```

und dann hab ich noch ein Problem das hab ich ganz vergessen: Gesamtpunkte in der Gui sollen mir die punkte anzeigen die zusammen kommen von den spinnern in der "Panel Auswertungseingaben"

```
final JProgressBar progressBar = new JProgressBar();
        progressBar.setMaximum(90);
        panelEingabenAuswertung.add(progressBar);
```


----------



## Fabio Hellmann (28. Juni 2012)

Jetzt fällt mir das Problem auf. Die Daten können nicht aktuallisiert werden, da du in deiner FillTable-Klasse immer wieder auf das ResultSet zugreifst, dass du zu beginn der Erzeugung der FillTable übergeben hast. Du musst in den überschriebenen Methoden des AbstractTableModel's die SQL abfragen machen, damit du aktuelle Daten siehst.


----------



## Duffner (28. Juni 2012)

jetzt versteh ich nicht was du meinst.


----------

