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

- Rejestracja:około 12 lat
- Ostatnio:około 3 lata
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>
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 8 lat
- Postów:19
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
File file = new File("yourfileName");
String path = file.getAbsolutePath();

- Rejestracja:około 12 lat
- Ostatnio:około 3 lata
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.
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 8 lat
- Postów:19
Dlaczego nie moge zrobić tak ?
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

<code=java></code>

- Rejestracja:prawie 17 lat
- Ostatnio:prawie 5 lat
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 metodagetValueAt(row, 0)
. Dopóki tego nie zdradzisz, to z pytaniami udaj się do wróżki.
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 8 lat
- Postów:19
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

- Rejestracja:prawie 17 lat
- Ostatnio:prawie 5 lat
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
new File("trololo.txt");
zakłada, że plik jest z folderu bieżącego i dopisuje z przodu odpowiedni folder.
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 8 lat
- Postów:19
Podczas próby kopiowania plików netbeans wyświetla bład
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.