Ustawianie ImageView na podstawie patha z sqlite

Ustawianie ImageView na podstawie patha z sqlite
PI
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:13
0

Cześć,
mam kilku godzinny problem z wczytywaniem obrazka do ImageView w JavaFx używając składni javy, pozostałe fxmlowe działają.
Poniżej kod który nie wywala błędu (odnośnie złej ścieżki) ale w dalszym ciągu nie ładuje grafiki.

Kopiuj
public void initStats() {
        PlayerDao playerDao=new PlayerDao(DbManager.getConnectionSource());
        BankDao bankDao=new BankDao(DbManager.getConnectionSource());

        name1_LoadGameSlot.setText(playerDao.loadQueryRaw().get(0)[1]);
        level1_LoadGameSlot.setText(playerDao.loadQueryRaw().get(0)[2]);
        Image img = new Image(playerDao.loadQueryRaw().get(0)[7]);
        avatar1_LoadGameSlot = new ImageView(img);
        //System.out.println(playerDao.loadQueryRaw().get(0)[7]);
        
        cash1_LoadGameSlot.setText("0");
        DbManager.closeConnectionSource();
Kopiuj
 //System.out.println(playerDao.loadQueryRaw().get(0)[7]);

Zwraca: "file:/src/main/resources/icon/avatar/gameblack-blood.png"

Prosiłbym o jakieś wskazówki.

krancki
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:74.7261832, -41.7409518
  • Postów:151
0

zła ścieżka
a zrób

Kopiuj
System.out.println(new File(playerDao.loadQueryRaw().get(0)[7]).exists());
edytowany 2x, ostatnio: krancki
PI
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:13
0

Po zamianie na

Kopiuj
Image img = new Image(String.valueOf(new File(playerDao.loadQueryRaw().get(0)[7]).exists()));

wyrzuca java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:5 miesięcy
  • Postów:2787
0
Pisany napisał(a):

Po zamianie na

Kopiuj
Image img = new Image(String.valueOf(new File(playerDao.loadQueryRaw().get(0)[7]).exists()));

wyrzuca java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Ale miałeś to podmienić w println żeby podejrzeć czy jest plik, a nie tworzyć obrazka z urla "true" albo "false" xDDDD

edytowany 1x, ostatnio: Pinek
PI
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:13
0

Racja xD
Zwraca false.

Jak się okazało obrazek nr1 na którym najczęściej testowałem miał podaną ścieżkę wpisaną ręcznie z literówką.
Problem został rozwiązany

Kopiuj
Image image = new Image(playerDao.loadQueryRaw().get(0)[7]);
        avatar1_LoadGameSlot.setImage(image);

jednak

Kopiuj
System.out.println(new File(playerDao.loadQueryRaw().get(0)[7]).exists())

dalej zwraca false

edytowany 2x, ostatnio: Pisany

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.