Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Řazení v JTable

já to mám v tom hlavnim okně ji tvořim

JTable table = new JTable();
String[] columnNames = new String[] { "Značka", "Obsah", "Barva", "Cena"};
table.setModel(new MotorkaTableModel(columnNames));
JScrollPane pane = new JScrollPane(table);
hlavniOknoFrame.add(pane);

tady odkazuju na MotorkaTableModel
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
import logika.Motorka;
import logika.MotorkaParser;


public class MotorkaTableModel extends AbstractTableModel {
	public static final int ZNACKA_INDEX = 0;
	public static final int OBSAH_INDEX = 1;
	public static final int BARVA_INDEX = 2;
	public static final int CENA_INDEX = 3;

	protected String[] columnNames;
	protected Vector<Motorka> dataVector;

	public MotorkaTableModel(String[] columnNames) {
		this.columnNames = columnNames;
		dataVector = MotorkaParser.parseFile("motorky.txt");
	}

	public String getColumnName(int column) {
		return columnNames[column];
	}

	public boolean isCellEditable(int row, int column) {
		return true;
	}

	public Class getColumnClass(int column) {
		switch (column) {
		case ZNACKA_INDEX:
		case BARVA_INDEX:
			return String.class;
		case OBSAH_INDEX:
			return Integer.class;
		case CENA_INDEX:
			return Integer.class;
		default:
			return Object.class;
		}

	}

	public Object getValueAt(int row, int column) {
		Motorka m = dataVector.get(row);

		switch (column) {
		case ZNACKA_INDEX:
			return m.getZnacka();
		case BARVA_INDEX:
			return m.getBarva();
		case OBSAH_INDEX:
			return m.getObsah();
		case CENA_INDEX:
			return m.getCena();
		default:
			return new Object();
		}
	}

	public void setValueAt(Object value, int row, int column) {
		Motorka m = dataVector.get(row);

		switch (column) {
		case ZNACKA_INDEX:
			m.setZnacka((String) value);
			break;
		case BARVA_INDEX:
			m.setBarva((String) value);
			break;
		case OBSAH_INDEX:
			m.setObsah((Integer) value);
			break;
		case CENA_INDEX:
			m.setCena((Integer) value);
			break;
		default:
			System.out.println("invalid index");
		}
		fireTableCellUpdated(row, column);

	}

	public int getRowCount() {
		return dataVector.size();
	}

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

	public boolean hasEmptyRow() {
		return false;
	}

	public void addEmptyRow() {
		dataVector.add(new Motorka("", 0, "", 0));
		fireTableRowsInserted(dataVector.size() - 1, dataVector.size() - 1);
	}
}

a tady je ještě odkaz na MotorkaParser
package logika;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Vector;

public class MotorkaParser {

	public static Vector<Motorka> parseFile(String filename) {
		Vector<Motorka> motorky = new Vector<Motorka>();

		File file = new File(filename);

		try {

			Scanner scanner = new Scanner(file);
			while (scanner.hasNextLine()) {
				String line = scanner.nextLine();
				String[] split = line.split(" ");
				motorky.add(new Motorka(split[0], Integer.parseInt(split[1]),
						split[2], Integer.parseInt(split[3])));

			}
		} catch (ArrayIndexOutOfBoundsException e) {
			e.printStackTrace();
		} catch (NumberFormatException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}

		return motorky;
	}

}

a tady je základ ta třída Motorka
public class Motorka
{
	private String znacka;
	private int obsah;
	private String barva;
	private int cena;
   
    
	public Motorka(String znacka, int obsah, String barva, int cena) {
		this.znacka = znacka;
		this.obsah = obsah;
		this.barva = barva;
		this.cena = cena;
	}


   
    public void print()
    {
        System.out.println("    " + getZnacka());
        System.out.println("    " + getObsah());
        System.out.println("    " + getBarva());
        System.out.println("    " + getCena());
    }
    
    
    
    public String getZnacka() {
		return znacka;
	}

	public int getObsah() {
		return obsah;
	}

	public String getBarva() {
		return barva;
	}

	public int getCena() {
		return cena;
	}

	public void setZnacka(String znacka) {
		this.znacka = znacka;
	}

	public void setObsah(int obsah) {
		this.obsah = obsah;
	}

	public void setBarva(String barva) {
		this.barva = barva;
	}

	public void setCena(int cena) {
		this.cena = cena;
	}
}

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny