Hallo zusammen,
ich habe folgendes Problem an dem ich seit Stunden tüftle:
Also mit diesem Actionlistener wird der folgenden Methode das ausgewählt Item bereitgestellt.
[Java]
public class spielerTeamHeimAuswahlListener implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if(spielerTeamHeimAuswahl.getSelectedItem() == null)
{}
else
{
spielerTeamNameHeim = (String) spielerTeamHeimAuswahl.getSelectedItem();
}
}
}
[/Java]
Nun werden JComboBoxes je nach Eingabe der Anzahl erstellt.
Auf der linken Seite kann man Torschützen auswählen.
Auf der rechten Seite soll man dann andere Sachen auswählen können.
[Java]
public void erzeugeComboBoxes (int anzahlTore)
{
// Es wird ein Array von Textfeldern erzeugt. Die Anzahl liegt immer 2 über dem Index der JComboBox "anzahlSpielerAuswahl" liegt.
torSchuetzen = new JComboBox [anzahlTore + 1];
DefaultComboBoxModel[] torSchuetzenModel = new DefaultComboBoxModel[anzahlTore + 1];
torSchuetzenSteuerer = new JComboBox [anzahlTore + 1];
DefaultComboBoxModel[] torSchuetzenSteuererModel = new DefaultComboBoxModel[anzahlTore + 1];
String spielerListeDateiPfad = "documents/ligen/" +landHeimAuswahl.getSelectedItem()+ "/" +mannschaftHeimAuswahl.getSelectedItem()+ ".txt";
int yKoordinate = 350, i = 1;
for(i = 1; i <= torSchuetzen.length - 1; i++)
{
torSchuetzen = new JComboBox();
torSchuetzen.removeAllItems();
torSchuetzenModel = new DefaultComboBoxModel(leseDaten.leseNationalMannschaften(spielerListeDateiPfad));
torSchuetzen.setModel(torSchuetzenModel);
torSchuetzen.setBounds(110, yKoordinate, 220, 30);
torSchuetzen.setActionCommand(String.valueOf(i));
torSchuetzen.removeItemAt(torSchuetzen.getItemCount()-1);
benutzerEbene.add(torSchuetzen);
torSchuetzenSteuerer = new JComboBox();
torSchuetzenSteuerer.removeAllItems();
torSchuetzenSteuererModel = new DefaultComboBoxModel(leseDaten.leseSpielerTeamsMitglieder(spielerTeamNameHeim));
torSchuetzenSteuerer.setModel(torSchuetzenSteuererModel);
torSchuetzenSteuerer.setBounds(350, yKoordinate, 220, 30);
torSchuetzenSteuerer.setActionCommand(String.valueOf(i));
benutzerEbene.add(torSchuetzenSteuerer);
yKoordinate = yKoordinate + 40;
}
SwingUtilities.updateComponentTreeUI(benutzerEbene);
}
[/Java]
Die nachher übergebene Array wird hier erstellt.
[Java]
public Object[] leseSpielerTeamsMitglieder(String teamNameAuswahl)
{
// Initialisierung der einzelnen Reader.
FileReader neuerReader = null;
BufferedReader zeilenInformation = null;
Object [] spielerTeamMitglieder = new Object[6];
try
{
neuerReader = new FileReader("documents/playerTeams.txt");
zeilenInformation = new BufferedReader(neuerReader);
String teamName = null;
int i = 0;
// Die Schleife stoppt sobald keine Informationen in einer Zeile vorhanden sind (== null).
do
{
teamName = zeilenInformation.readLine();
// Der Teamname steht immer in Zeile nach den 50 Bindestrichen, welche eine Abgrenzung der Teams darstellen.
if(teamName.equals(teamNameAuswahl))
{
for(int k = 0; k < 4; k++)
{
teamName = zeilenInformation.readLine();
spielerTeamMitglieder = teamName;
i = i + 1;
if(teamName.equals("--------------------------------------------------"))
{
k = 4;
}
k = k + 1;
}
}
}while(teamName != null);
}
catch(IOException Ausnahme)
{
System.out.println("Im Moment ist noch keine Datei zum Auslesen vorhanden");
}
// Schließen der offenen Reader
finally
{
try
{
if (zeilenInformation != null)
{
zeilenInformation.close();
}
if (neuerReader != null)
{
neuerReader.close();
}
}
catch (IOException Ausnahme)
{
System.out.println("Es ist ein Fehler aufgetreten!");
}
}
return spielerTeamMitglieder;
}
[/Java]
Es funktioniert eigentlich alles, aber das Array wird irgendwie nicht richtig übergeben.
Vor allem ist es komisch das es beim den linken ComboBoxes richtig klappt.
Vllt kann jemand helfen.
Schon mal vielen Dank für Ratschläge.
Muller
ich habe folgendes Problem an dem ich seit Stunden tüftle:
Also mit diesem Actionlistener wird der folgenden Methode das ausgewählt Item bereitgestellt.
[Java]
public class spielerTeamHeimAuswahlListener implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if(spielerTeamHeimAuswahl.getSelectedItem() == null)
{}
else
{
spielerTeamNameHeim = (String) spielerTeamHeimAuswahl.getSelectedItem();
}
}
}
[/Java]
Nun werden JComboBoxes je nach Eingabe der Anzahl erstellt.
Auf der linken Seite kann man Torschützen auswählen.
Auf der rechten Seite soll man dann andere Sachen auswählen können.
[Java]
public void erzeugeComboBoxes (int anzahlTore)
{
// Es wird ein Array von Textfeldern erzeugt. Die Anzahl liegt immer 2 über dem Index der JComboBox "anzahlSpielerAuswahl" liegt.
torSchuetzen = new JComboBox [anzahlTore + 1];
DefaultComboBoxModel[] torSchuetzenModel = new DefaultComboBoxModel[anzahlTore + 1];
torSchuetzenSteuerer = new JComboBox [anzahlTore + 1];
DefaultComboBoxModel[] torSchuetzenSteuererModel = new DefaultComboBoxModel[anzahlTore + 1];
String spielerListeDateiPfad = "documents/ligen/" +landHeimAuswahl.getSelectedItem()+ "/" +mannschaftHeimAuswahl.getSelectedItem()+ ".txt";
int yKoordinate = 350, i = 1;
for(i = 1; i <= torSchuetzen.length - 1; i++)
{
torSchuetzen = new JComboBox();
torSchuetzen.removeAllItems();
torSchuetzenModel = new DefaultComboBoxModel(leseDaten.leseNationalMannschaften(spielerListeDateiPfad));
torSchuetzen.setModel(torSchuetzenModel);
torSchuetzen.setBounds(110, yKoordinate, 220, 30);
torSchuetzen.setActionCommand(String.valueOf(i));
torSchuetzen.removeItemAt(torSchuetzen.getItemCount()-1);
benutzerEbene.add(torSchuetzen);
torSchuetzenSteuerer = new JComboBox();
torSchuetzenSteuerer.removeAllItems();
torSchuetzenSteuererModel = new DefaultComboBoxModel(leseDaten.leseSpielerTeamsMitglieder(spielerTeamNameHeim));
torSchuetzenSteuerer.setModel(torSchuetzenSteuererModel);
torSchuetzenSteuerer.setBounds(350, yKoordinate, 220, 30);
torSchuetzenSteuerer.setActionCommand(String.valueOf(i));
benutzerEbene.add(torSchuetzenSteuerer);
yKoordinate = yKoordinate + 40;
}
SwingUtilities.updateComponentTreeUI(benutzerEbene);
}
[/Java]
Die nachher übergebene Array wird hier erstellt.
[Java]
public Object[] leseSpielerTeamsMitglieder(String teamNameAuswahl)
{
// Initialisierung der einzelnen Reader.
FileReader neuerReader = null;
BufferedReader zeilenInformation = null;
Object [] spielerTeamMitglieder = new Object[6];
try
{
neuerReader = new FileReader("documents/playerTeams.txt");
zeilenInformation = new BufferedReader(neuerReader);
String teamName = null;
int i = 0;
// Die Schleife stoppt sobald keine Informationen in einer Zeile vorhanden sind (== null).
do
{
teamName = zeilenInformation.readLine();
// Der Teamname steht immer in Zeile nach den 50 Bindestrichen, welche eine Abgrenzung der Teams darstellen.
if(teamName.equals(teamNameAuswahl))
{
for(int k = 0; k < 4; k++)
{
teamName = zeilenInformation.readLine();
spielerTeamMitglieder = teamName;
i = i + 1;
if(teamName.equals("--------------------------------------------------"))
{
k = 4;
}
k = k + 1;
}
}
}while(teamName != null);
}
catch(IOException Ausnahme)
{
System.out.println("Im Moment ist noch keine Datei zum Auslesen vorhanden");
}
// Schließen der offenen Reader
finally
{
try
{
if (zeilenInformation != null)
{
zeilenInformation.close();
}
if (neuerReader != null)
{
neuerReader.close();
}
}
catch (IOException Ausnahme)
{
System.out.println("Es ist ein Fehler aufgetreten!");
}
}
return spielerTeamMitglieder;
}
[/Java]
Es funktioniert eigentlich alles, aber das Array wird irgendwie nicht richtig übergeben.
Vor allem ist es komisch das es beim den linken ComboBoxes richtig klappt.
Vllt kann jemand helfen.
Schon mal vielen Dank für Ratschläge.
Muller