Hi, ich habe eine JList und dieser möchte ich in jeder Zeile ein Bild und dahinter einen Text einfügen. Wie dem Code zu entnehmen ist, mache ich das bisher untereinander und es funktioniert. Das Problem ist, wenn ich das über ein JPanel/JLabel/JTextField realisieren möchte, also dem listMod eines der drei genannten hinzufüge, damit es nebeneinander ist, wird nur sowas angezeigt:
"javax.swing.JTextField[,0,0,0x0,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@1d5e53ab,flags=288,maximumSize=,minimumSize=,preferredSize=,caretColor=,disabledTextColor=DerivedColor(color=142,143,145 parent=nimbusDisabledText offsets=0.0,0.0,0.0,0 pColor=142,143,145,editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=DerivedColor(color=255,255,255 parent=nimbusSelectedText offsets=0.0,0.0,0.0,0 pColor=255,255,255,selectionColor=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]"
[CODE lang="java" title="Relevanter Code"] private void initModel() throws IOException {
DefaultListModel listMod = new DefaultListModel();
for (int i=0; i<18; i++) {
String bildName = (i+1) + ".jpg";
ImageIcon image = new ImageIcon(this.getClass().getResource("bilder/"+bildName));
listMod.addElement (image);
listMod.addElement (getName(i));
}
auswahlListe.setModel(listMod);
}[/CODE]
Recherchen haben ergeben, dass ich dafür einen ListCellRenderer an die Liste übergeben muss (https://www.java-forum.org/thema/jlist-mit-jpanels.107291/).
Wie mache ich das?
"javax.swing.JTextField[,0,0,0x0,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@1d5e53ab,flags=288,maximumSize=,minimumSize=,preferredSize=,caretColor=,disabledTextColor=DerivedColor(color=142,143,145 parent=nimbusDisabledText offsets=0.0,0.0,0.0,0 pColor=142,143,145,editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=DerivedColor(color=255,255,255 parent=nimbusSelectedText offsets=0.0,0.0,0.0,0 pColor=255,255,255,selectionColor=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]"
[CODE lang="java" title="Relevanter Code"] private void initModel() throws IOException {
DefaultListModel listMod = new DefaultListModel();
for (int i=0; i<18; i++) {
String bildName = (i+1) + ".jpg";
ImageIcon image = new ImageIcon(this.getClass().getResource("bilder/"+bildName));
listMod.addElement (image);
listMod.addElement (getName(i));
}
auswahlListe.setModel(listMod);
}[/CODE]
Recherchen haben ergeben, dass ich dafür einen ListCellRenderer an die Liste übergeben muss (https://www.java-forum.org/thema/jlist-mit-jpanels.107291/).
Wie mache ich das?