Hej,
Chcialbym wyswietlic liste obiektow (a dokladnie ich dane, np imie, nazwisko itd) w Frame albo w jakies tabeli. Probowalem roznymi znanymi mi metodami, ale niestety najczesciej wyskakiwaly wyjatki albo adresy obiektow. Chcialbym, aby w oknie pojawila sie lista ownerow jak ponizej
Jan Kowalski Male 48
Anna Zdyb Female 23
itd.
Kod:
package com.michal;
import com.michal.creatures.Owner;
import javax.swing.*;
import java.awt.*;
import java.util.jar.JarFile;
import static com.michal.MyFrame.list;
public class OwnerListDisplay extends JFrame {
private JFrame frame;
private JList listOfOwners;
private JScrollPane scrollPane;
//private Object[] ownersList;
private DefaultListModel ownersList;
public OwnerListDisplay() throws HeadlessException {
frame = new JFrame("List of owners");
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
frame.setLayout(new FlowLayout());
frame.setLocationRelativeTo(null);
frame.setSize(300,300);
// for (int i = 0; i < list.getOwners().size(); i++) {
// ownersList[i]=list.getOwnerByIndex(i);
// }
//
// listOfOwners = new JList(ownersList); // Object[]
// listOfOwners.setLayoutOrientation(JList.HORIZONTAL_WRAP);
// listOfOwners.setVisibleRowCount(-1);
ownersList = new DefaultListModel();
for (int i = 0; i < list.getOwners().size(); i++) {
ownersList.addElement(list.getOwnerByIndex(i).getName() + ", "
+ list.getOwnerByIndex(i).getSurname() + ", "
+ list.getAnimalsByIndex(i).getGender() + ", "
+ list.getAnimalsByIndex(i).getAge());
}
listOfOwners=new JList(ownersList);
listOfOwners.setLayoutOrientation(JList.HORIZONTAL_WRAP);
listOfOwners.setVisibleRowCount(-1);
scrollPane=new JScrollPane(listOfOwners);
scrollPane.setPreferredSize(new Dimension(500,300));
frame.add(scrollPane);
frame.setVisible(true);
frame.pack();
}
}