SWT: automatisch Buttons erstellen.

rull_ger

Grünschnabel
Moin,

ich möchte ein Program erstellen, das sich Produkte aus einer Datenbank holt. Diese verschiedenen Produkte sollen im GUI als Buttons dargestellt werden. Nur...ich weiß nicht, wieviele Produkte jedenmal in der Datenbank drin sind. Es kann sein, dass es einmal 10 sind, am nächsten Tag sind es 15. Also müßte ich einen Lösung finden, wie das Program anhand der Einträge in der Datenbank automatisch diese Anzahl an Buttons im GUI erstellt. Hab keinen Plan, wie das gehen kann.

Vielleicht kann mir jemand von Euch helfen!

Danke schonmal im Voraus!
 
Hi,

Also ich habe auch mal das Problem gehabt.

Ich habe die normale JButton-Klasse um ein id-Feld erweitert. Diesem id-Feld habe ich bei jeder DB-Abfrage die id aus der DB zugeordnet.

Dann habe ich in der

while(rs.next()) - Schleife

die entsprechende Anzahl von Buttons generiert und der Gui hinzugefügt. Klick ich auf einen Button habe ich dann die id und schaue alles andere in der DB nach

Grüsse

floggie
 
Hi rull_ger,

ich weiß nicht ob ich deine Frage richtig verstehe aber JButtons kannst du einfach mit
Code:
javax.swing.JButton ButtonName = new javax.swing.JButton();
erzeugen (musst eben auch javax.swing.JButton importieren). Ich würde einfach in einer Schleife z.B. der while(rSet.net()) oder falls du die Datenbankdaten in ein Objekt übergibts dann z.b. for(i=0; i < Produkte.length; i++) die Buttons erzeugen lassen und dann direkt über
Code:
ButtonName.setText(rSet.getString("Produktname");
oder eben
Code:
ButtonName.setText(Produkte.getName());
oder so die Beschriftung setzten.

Gruß,

Pat
 
Moinsen, danke für Eure Antworten

@floggie: Ich muß das mal ausprobieren! Hört sich interessant an! Aber was meinst Du mit JButton Klasse erweitern? Also quasi die jButton Klasse selbst erstellen, den Inhalt der "alten" JButton Klasse kopieren und ein Feld ID hinzufügen! Das wäre ja echt ne super Sache!

@docere: Also das Problem ist, dass ich z.B. 20 Buttons erstellen muß Dafür muß ich 20 mal ein Objekt der Klasse JButton erstellen Soweit, sogut! Aber wenn ich nun 100 Buttons brauche, (was ich vorher nicht weiß), Habe ich ja nur diese 20 Objekte erstellt... Hoffe Du verstehst, was ich meine! Und automatisch ein Objekt erstellen...Geht schon, aber um auf die Buttons zugreifen zu können, müssen diese Objekte ja unterschiedliche Namen haben
 
public class MyButton extends JToggleButton{


private int id;

//zum Button erstellen mit id aus der DB
public MyButton(String s, int id) {
super(s);
this.id = id;
}
//Abfragen der ID um alles andere aus der DB zu holen
public int getID() {
return id;
}
}


so kann man dann beliebig viele Buttons automatisch erstellen und genau zuordnen welcher Button zu welchem Produkt gehört.

Grüsse

floggie
 
Zurück