ich definiere eine Tabelle und gebe ihr eine DefaultTableModel mit
Code:
model = new DefaultTableModel( Data.getInstance().getNameOfGame(), 0 );
table = new JTable( model )
dann will ich in meinem Programm über eine Methode eine Spalte hinzufügen lassen können..
Code:
private void addColumn()
{
String gameName = JOptionPane.showInputDialog( "Namen des Spiels angeben." );
if(gameName != null)
{//Fragen ob abbrechen gedrückt wurde
if(checkStringIsntEmpty(gameName))
{
if(checkIfGameNameIsTheSame(gameName))
{
model.addColumn(gameName);
Data.getInstance().addElementToNameOfGame(gameName);
Data.getInstance().setNumbersOfGames(Data.getInstance().getNumbersOfGames() + 1);
askForCalculateSettings(Data.getInstance().getNumbersOfGames() , gameName);
model.removeRow(Data.getInstance().getNumbersOfTeams());
model.addRow(createCalcSettingsButtonVector());
}
else
{
JOptionPane.showMessageDialog( null, "Das von Ihnen eingegebene Spiel existiert bereits." );
addColumn();
}
}
else
{
JOptionPane.showMessageDialog( null, "Die eingabe war falsch." );
addColumn();
}
}
else
{//Abbrechen wurde gedrückt
JOptionPane.showMessageDialog( null, "Das hinzufügen einer Spalte wurde abgebrochen." );
}
}
Das funktioniert auch... das 1. mal
Wenn ich dann aber ein 2. mal die Methode aufrufe, dann bekomme ich die zuvor eingefügt Spalte doppelt angezeigt, die neue zwar auch.. aber die 1. eingefügte dopppelt..
Hatt jmd einen plan wie ich den fehler beheben kann....
Es stehen nun zwar die Zahlen hinter dem namen.. aber die spalte wird trotzdem doppelt hinzugefügt.. aber nur wenn ich die methode das 2. mal aufrufe, beim ersten mal gehts, da kommt nur eine spalte..echt komisch..
du hast wahrscheinlich der JTable einen Vektor aus dem Game übergeben,
nun fügst du neue Columns in die JTable ein -> in den Vektor
udn fügst sie auch noch im Game in den gleichen Vektor ein -> zweimal im Vektor
(addElementToNameOfGame())
warum das nun nicht beim ersten Mal passiert verstehe ich nicht,
aber das scheint mir das wahrscheinlichste
du hast wahrscheinlich der JTable einen Vektor aus dem Game übergeben,
nun fügst du neue Columns in die JTable ein -> in den Vektor
udn fügst sie auch noch im Game in den gleichen Vektor ein -> zweimal im Vektor
(addElementToNameOfGame())
warum das nun nicht beim ersten Mal passiert verstehe ich nicht,
aber das scheint mir das wahrscheinlichste
Oha vielen dank, das war das problem, echt nice von dir ^^
Ja ich dachte nicht, dass ich über das addColumn automatisch das element in den vector hinzufüge, den ich dem Model zugewiesen habe.. somit doppeltgemoppelt... hätte aber auch selber drauf kommen können ^^.. na ja viiieeeeelen dank