Java - obrazek w JTable

0

Cześć! Mam problem z wrzuceniem obrazka do JTable. Program ogólnie wczytuje dane książek z pliku do tabeli i w miejsce nazwy obrazka który jest w obecnym katalogu powinien on wyświetlić się. Program działa dobrze, jednak nie mogę wpaść na to żeby w kolumnie Okładka zamiast nazwy pliku wyświetlił się jej obrazek. Tutaj kod w którym wszystkie dane są jako String:
Main: http://pastebin.com/jPmis0Ln
Table Demo: http://pastebin.com/pNqTGf9U
Table Model: http://pastebin.com/8CGDejyT
Book: http://pastebin.com/P70QDiVZ
Przykładowe dane: http://pastebin.com/GQenzJiD

Czy jest ktoś w stanie mi pomóc?

0

Musisz dla tej kolumny napisać własnego CellRenderera, jego metoda getTableCellRendererComponent powinna zwracać JLabel(new ImageIcon(...)).

0

A jak z klasą book? Przyjmuje jako parametr ikony String dalej, czy Icon albo ImageIcon?

0

Ja bym zostawił String.

0

niestety przerasta mnie to, ale dzięki chociaż za próbę pomocy :)

0

Przecież to jest trywialnie proste (poniższy kod trzeba dopisać w klasie Z53JTableDemo)

//w konstruktorze
    TableColumn cover = table.getColumn("Okładka");
    cover.setCellRenderer(new CoverRenderer());
//w klasie
    class CoverRenderer extends DefaultTableCellRenderer{
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
            JLabel label = new JLabel(new ImageIcon((String)value));
            return label;           
        }
    }
0

Ładnie to tak korzystać z gotowca? :)
https://github.com/michalrogozinski/GUI5_RM-S10324/tree/master/src/zad53
Gdybyś może sam to robił po kolei to byś wiedział co trzeba zrobić a tak dopisać kilka linijek to już nie masz pojęcia gdzie... bo jak tu się odnaleźć w nieswoim kodzie:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1