das hier ist mein erstes Beitrag in eurer Community und daher möchte ich Euch erstmals alle begrüßen bevor ich euch hier belästige. Kurzes Vorwort zu mir.. ich bin eigentlich HTML/CSS/PHP Entwickler und arbeite mich jetzt in Java ein. Meine Kenntnisse in Java sind nicht wirklich gut und ich muss noch eine menge lernen bezüglich der Syntax etc. Gerade mit Klassen muss ich noch viel Praxis sammeln. Dennoch bin ich in der Lage mit längeren probieren gewisse Dinge auf die Beine zu stellen. Ihr werdet wohl Anfangs öfters Fragen von mir hier lesen daher hoffe ich auf ein wenig geduld von Eurer Seite. Früher habe ich meine Java erfahrungen mit Eclipse gesammelt und konnte mir den Sourcecode so zusammenlegen, sodass ich den Code gut verstehe. Jetzt muss ich allerdings mit Netbeans arbeiten und ich muss mich an den generierten Source Code vom Designer erstmal gewöhnen. Für mich noch nicht ganz so einfach aber üben üben üben ist das was ich brauche
Ich fang mal mit meinem Problem an. Wie ihr lesen könnt, versuche ich eine JListe mit Checkboxen zu erstellen. Im moment habe ich nur eine JListe, die ihre Elemente aus einer Datenbank bezieht. Diese Elemente übergebe ich einem String-Array und gebe es aus. Funktioniert auch prima
Java:
publicString[]getMysqlValues(){getValues();String[] test = name.toArray(newString[name.size()]);return test;}
hinter getValues(); versteckt sich wie gesagt die Funktion wo ich mir die Daten ranhole. Jetzt möchte ich gerne vor jedem Eintrag in der JList eine CheckBox und ich würde mich freuen, wenn ihr mir da helfen könntet.
Die Darstellung der Listeneinträge übernimmt bei der JList ein CellRenderer. Du kannst einen eigenen Renderer definieren, der dann die Einträge wie gewünscht darstellt. Allerdings werden die Einträge nur gerendert. Einen Editor gibt es in der Implementierung der JList nicht (man könnte eine einspaltige JTable nehmen), daher hast Du in der JList keine reagierenden Komponenten. Die Funktion der JCheckBox könnte man aber leicht mittels MouseListener auf die JList selbst implementieren.
verzeih .. natürlich CheckBox ich konnte es leider nicht schnell genug editieren. Ich bin noch nicht sicher, was du mit "daher hast Du in der JList keine reagierenden Komponenten" genau meinst. Hört sich irgendwie an als ob eine Checkbox in die Liste gezeichnet wird aber nicht ausführbar ist.. also vergleichbar mit einer Dekoration
String interessen[]={"Politik","Autos","Mode","Film- und Fernsehen","Computer","Tiere","Sport"};JCheckBox[] checkBoxMilch =newJCheckBox[interessen.length];for(int i =0; i < interessen.length; i++){
checkBoxMilch[i]=newJCheckBox(interessen[i]);}//JList mit Einträgen wird erstelltCheckBoxList themenAuswahl =newCheckBoxList();for(JCheckBox jcb : checkBoxMilch){
themenAuswahl.addCheckbox(jcb);}
So ich habe es mit viel mühe ans laufen bekommen. Erstmal Danke dafür
Was mich jetzt intressieren würde ist.. wie fange ich das ganze ab.
wenn ich auf den "OK" Button drücke, soll eine Funktion in einer anderen Klasse aufgerufen werden. Dort soll überprüft werden, welche Checkbox angeklickt worden ist. Da es mehrere Checkboxen sein können, wird es wohl wieder ein Array werden aber wie übermittle ich beim Actionevent vom OK Button, welche CheckBox angeklickt worden ist