JTable ścieżka do pliku

JTable ścieżka do pliku
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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:około 12 lat
  • Ostatnio:około 3 lata
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>


The quieter you become, the more you are able to hear.
edytowany 1x, ostatnio: Gjorni
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:19
0

A jak pobierać informacje o ścieżce pliku

Gjorni
Wpisz w google "how to get information about file path in java". Bynajmniej, to nie jest zlośliwość. Jest wiele metod w zależności od sytuacji i potrzeb.
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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();
edytowany 1x, ostatnio: bogdans
Gjorni
  • Rejestracja:około 12 lat
  • Ostatnio:około 3 lata
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.


The quieter you become, the more you are able to hear.
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

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


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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

edytowany 2x, ostatnio: bogdans
bogdans
!Wstawiaj kod w znaczniki &lt;code=java&gt;&lt;/code&gt;
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

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


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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);
edytowany 2x, ostatnio: bogdans
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
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.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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

edytowany 1x, ostatnio: bartes19
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
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.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:19
0

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

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
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).


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans
B1
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 8 lat
  • 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.