Java Commander

SO
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:45
0

Witam, przymierzam się do napisania JCommandera.
Pierwsze zadanie:
Chce zrobić tabelkę JTable z dwoma kolumnami "name" oraz "size", pod kolumnami pliki z bieżącego katalogu ".".
Mam problem nie potrafię tego zrobić, próbowałem z klasą File: listFiles, length; niestesty bez skutku, nie mam pomysłu jak to zrobić proszę o wskazówki.

Pozdrawiam.

edytowany 1x, ostatnio: sokgob
Olamagato
Jeżeli chcesz pisać zarządcę plików, to zapomnij o klasie File, która w Javie 7 jest praktycznie przestarzała. Użyj do obsługi plików klas specjalnie wprowadzonych przez wersję 7 (oraz buforów z Javy 5 ulepszonych w 7), które są o wiele lepsze i bardziej uniwersalne.
LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
0

No to dobrze kombinowałeś. Metoda listFiles pokazuje pliki w katalogu, a length (bodajże) zwraca rozmiar pliku. Pokaż kod ;)

SO
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:45
0
Kopiuj
package commander;

import java.io.File;

public class FillData {
	
	
	private static File curr;
	private static File [] currentDirFiles;
	private static Object [][] tmpData;
	private static long [] sizes;
	public FillData () {
		curr = new File(".");
		currentDirFiles = curr.listFiles();
		for(int i=0; i<currentDirFiles.length; i++) {
			sizes[i] = currentDirFiles[i].length();
		}
	
	}
	public static  Object [][] getCurrentDirectory() {
		
		for(int i=0; i<currentDirFiles.length; i++){
			
			tmpData[i][0] = currentDirFiles[i];
			tmpData[i][1] = sizes[i];

		}
		
		return tmpData;
		
		
		
		
	}
	


}

Problem z załadowaniem tablicy z FillData do Object[][]data

Kopiuj
package commander;

import javax.swing.table.AbstractTableModel;

public class MyTableModel extends AbstractTableModel {
//	FillData tmpdata = new FillData();
	
	String [] columnNames = {"Name", "Size"};
	Object [][] data = //// Nie wiem jak przekazać z FillData,i czy wogole mozna ???


	@Override
	public int getColumnCount() {
		return columnNames.length;
	}

	@Override
	public int getRowCount() {
		return data.length;
	}

	@Override
	public Object getValueAt(int row, int col) {
		return data[row][col];
	}
	
	@Override
	public String getColumnName(int col){
		return columnNames[col];
	}

}
edytowany 3x, ostatnio: sokgob
SO
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:45
0

Tak w skrócie to nie wiem jak stworzyć dwuwymiarową tablicę Object [][] data, którą wykorzystam w MyTableModel, tzn. jak wypelnić ją odpwiednimi danymi i dodatkowo sortowane alfabetycznie i hierarchicznie (.. -> <DIR> ->file).

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.