Java Commander

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.

0

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

0
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

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];
	}

}
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).

1 użytkowników online, w tym zalogowanych: 0, gości: 1