JTable ścieżka do pliku

JTable ścieżka do pliku
B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Robie prosty menedżer plików, w tabeli jTable chce po zaznaczeniu pliku aby jTextField pokazała się jego ścieżka, jak?

Gjorni
  • Rejestracja: dni
  • Ostatnio: dni
0

Dodaj do tabeli action listenera reagującego na klikanie myszą (http://stackoverflow.com/questions/7350893/click-event-on-jtable-java) i pobieraj informację o ścieżce pliku, <edit> którą następnie wyświetlaj w JTextField.</edit>

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

A jak pobierać informacje o ścieżce pliku

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

nie wiem o co chodzi, chce zeby program podał dokładną ścieżke dowolnego pliku gdziekolwiek on jest, a jak na razie wypisuje sciezke do folderu z projektem plus na koniec dopisuje yourfileName

Kopiuj
File file = new File("yourfileName");
String path = file.getAbsolutePath();
Gjorni
  • Rejestracja: dni
  • Ostatnio: dni
0

Eee... ale żeby metoda getAbsolutePath() zwróciła rzeczywistą kompletną ścieżkę do pliku, to musi zostać wywołana dla obiektu File, który jest zainicjalizowany dla istniejącego pliku. W Twoim przypadku nie ma takiego pliku jak yourFileName, więc absolute path jest skierowane na folder projektu. Jeżeli miałbyś w JTable wyświetlone pliki z jakiegoś folderu na dysku, to przy posiadaniu odpowiedniej akcji w listenerze dla kliknięcia na tabelę uzyskasz informację o całkowitej ścieżce wybranego pliku.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

A skąd bierzesz krótkie nazwy plików wyświetlane w JTable?

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Dlaczego nie moge zrobić tak ?

Kopiuj
int row = FileTable1.getSelectedRow();

Object data = (Object)FileTable1.getValueAt(row, 0);

File file = new File(data);
String path = file.getAbsolutePath();
System.out.println(path);

równiez wyswietla sciezke do folderu projektu

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Ten kod się kompiluje? Przecież nie ma konstruktora File(Object).

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Tak skompilował sie

Kopiuj
 
        int row = FileTable1.getSelectedRow();

        String data = (String)FileTable1.getValueAt(row, 0);
        
        File file = new File(data);
        String paths = file.getAbsolutePath();
        System.out.println(paths);
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

Jeszcze jeden post z niewłaściwymi znacznikami i wątek wyląduje w koszu.
Zamieściłeś w ostatnich postach dwa różne kody.
Odpowiedź na pytanie z pierwszego postu

Dlaczego nie moge zrobić tak ?
brzmi: bo ten kod jest niepoprawny.
W drugim poście nie ma pytania.
Nie podałeś jaki jest model Twojej tabeli, zatem nikt nie wie co u Ciebie zwraca metoda getValueAt(row, 0). Dopóki tego nie zdradzisz, to z pytaniami udaj się do wróżki.

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0
Kopiuj
    private void FileTable1MouseClicked(java.awt.event.MouseEvent evt) {                                        
        int row = FileTable1.getSelectedRow();
 
        String data = (String)FileTable1.getValueAt(row, 0);      // getValueAt() zwraca nazwe pliku w podanym wierszu i kolumnie
 
        File file = new File(data);
        String paths = file.getAbsolutePath();
        System.out.println("path: " + paths);
    }   

kod wyżej zwraca tylko siezke do folderu z projektem + nazwa pliku zamaiast pełna poprawna sciezke, DLACZEGO ?

w zmiennej data przechowywana jest nazwa pliku z rozszerzeniem albo nazwa katalogu

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

A czego oczekujesz? Takie zachowanie jest w zasadzie oczywiste. Jeśli masz na dysku (w różnych folderach) 15 plików o nazwie "trololo.txt", to jak na podstawie tekstu "troloo.txt" odtworzyć pełna ścieżkę? Nie można, więc konstruktor

Kopiuj
new File("trololo.txt");

zakłada, że plik jest z folderu bieżącego i dopisuje z przodu odpowiedni folder.

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

To jak moge odczytac ta sciezke, jest ona mi nie zbedna do dalszej pracy

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Już Ci dwa razy pisałem, musisz ją zapamiętać podczas tworzenia modelu dla JTable (obiekt JTable nie musi wyświetlać wszystkiego co jest w modelu).

B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Podczas próby kopiowania plików netbeans wyświetla bład

http://prntscr.com/9y3qu7

ktoś wie czym to może być spowodowane?

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.