
Řazení v JTable
Ahoj všichni chtěl bych vás poprosit o radu, dělám do školy takovou práci, je to v podstatě databáze dělaná v Javě v Eclipsu, potřeboval bych pomoct s řazením věcí v tabulce. Tabulka se mi načítá ze souboru txt který je u toho ve zdrojích a já bych potřeboval nějak filtrovat když něco vyberu z comboboxu a taky řadit například podle abecedy nebo ceny, myslíte že byste mi mohli poradit??? předem díky za odpověď.
http://www.java2s.com/Tutorial/Java/0240__Swing/Ta blerowfilerandsortkey.htm
Díky ale jsem začátečník a trochu se v tom nevyznám....filtr dobrej podle ceny už si to srovnám ale furt nevim jak to udělat vzestupně a sestupně např.
a taky nevim jak udělám tu cenu od/do protože ji tam mám v txt jako String a nevim jak udělat ten rozsah od/do
Taxi tu cenu konveruj na double. Double.parseDouble()
Nějak mi to stejně nefunguje jak to čte z toho souboru tak bych musel podle toho odkazu předělat celou tu tabulku ne? Já vim že musim připadat jak blbec ale fakt začínám ;) dík
Tak ukaž, co už máš...
já to mám v tom hlavnim okně ji tvořim
tady odkazuju na MotorkaTableModel
a tady je ještě odkaz na MotorkaParser
a tady je základ ta třída Motorka
myslim že se v tom vyzná jen frajer :DDDD když to netvoří :D
a ty motorky jsou uložený v tom txt souboru
LOL! Tohle jsi nepsal ty, ale já:
http://pc.poradna.net/q/view/651520-nacitani-ze-so uboru-do-jtable
no vidiš ani by mě to nenapadlo děláme s kámošem týmovou práci a tak to mám od něj ale fakt nevim jak udělat to řazení myslíš že bys mi mohl pomoct????
Hmm... a to mám vaši "teamovou" práci udělat já? Trochu vlastního zapojení by to chtělo...
upřímně to co si nám poradil je ani ne desetina tý práce jestli nechceš tak dík moc proč vůbec píšeš??? když nemáš zájem pomoct?
Mám zájem pomoct, ale taky se nemůžu zbavit dojmu, že vy nemáte zájem se nic naučit. Chcete jen, aby někdo všechno udělal za vás. Filtrovaní JTable jsem vám poradil hned v prvním příspěvku. Napasovat to na to, co už máte je otázka max 20ti minut.
Tenhle semestr jsem se toho naučil docela dost a fakt je to jen zlomek kterej fakt dělá nepořádek a nemůžem na něj přijít, věř mi že je v tý práci toho hodně na co jsme přišli sami a je to 95% tý práce, fakt mi nejde o to to jen opsat a navíc potřebný body abych zvládl tenhle předmět už mám takže je to stejně v podstatě jen pro zábavu
A stim co jsi mi poslal mám právě problém to tam napasovat když to čte ze souboru, víš jak jsem psal tak jsem začátečník......
tak už není potřeba to řešit. Udělal jsem to úplně jinak, přes dočasný soubor, do kterýho se nahrajou vybraný motorky, načtou se do tabulky a následně se soubor opět vymaže. Sice je to hodně prasácky udělaný, ale funguje to bez problémů
LOL
aspoň jsem to vyřešil sám
To jo, ale na to, že stačilo přidat tři řádky kódu...
já práve nikdy na nic snadnýho nepřijdu a vymýšlím okliky
Zdravím,
omlouvám se za otevření tématu, nicméně je otevřené :).
Bylo by prosím možné odtajnit tři řádky kódu, potřeboval bych něco obdobného.(Trochu jsem se inspiroval zde zmíněným projektem.)
Zapisuju do txt, pak ho čtu, načte se, OK. Ale jak to seřadit?
Něco jako toto: http://www.esus.com/docs/GetQuestionPage.jsp?uid=1 270 ... ale bez klikání, zobrazení jtabel již seřazené dle skore.(Ukládám jméno hráče a jeho skore = 2 sloupce -> řazení dle skore)
Nerad bych bez pochopení něco někam "házel", zde zmíněnému rozumím - rád bych to viděl přím na tom(je-li to možné).
Předem díky, M.
Nečetl jsem celou diskuzi - ale pokud čteš data z txt, tak bych je uložil do pole a použil příkaz sort. Nebo mi něco uniklo?
Uniklo ti to, že kolega to chce v Javě...
Ano, Java.
Jde o to, že Ty tam máš Vector - což je, pokud se nemýlím, nějaká forma seznamu - ale ne pole, na které jde použít sort.
A já už poměrně dlouho dobu nad tím tápu.(Pokoušel jsem se to předělat na pole, moc s pravýma polema neumím manipulovat, takže jsem to brzo vzdal & uvedení návodu do praxe nedopadlo o moc lépe.(a bylo tak minimálně na 100 řádků :D))
Nicméně pokud se nemýlím, tak při čtení to zařazuješ jako "tam" Motorku, tudíž si rozděluješ, co je co a případně kolik, takže řazení by mohlo probíhat někde při čtení. Ale to už zase někam musíš asi někam ukládat - ale hýbat se musí celé řádky, čím víc nad tím přemýšlím - tím je guláš hustší.
Musíš přesně popsat, co potřebuješ a ideálně to podpořit nějakým kusem kódu, který už máš. Chápu, že chceš něco sortovat ale nedochází mí, co a kde (měl jsem už pár piv...
)
Já potřebuju aby JTable se objevila už seřazená dle skore.(Highscore)
Případně jsem nahrál sem(pak to bude hned jasné): src-zip
Je to spustitelné a fční, jen třeba upravit cestu k souboru.
Mám txt, např.:
Třídu Score - s konstruktorem(String jmeno & int skore), gety a sety.
Třídu SkoreNacitac - kterou jsem si vypůjčil od Tebe - MotorkaParser.
Třídu: OknoNoveSkore - GUI + po zmáčknutí tlačítka => se zapíše zapsané jméno a skore na novy radek v txt.
Třídu OknoVysledkuSkore:
Další třída: ModelSkore nastavuje obsah OknoVysledkuSkore .
M.
Nejjednodušší řešení, které není vůbec optimalizované pro výkon.
Po každém vložení nebo odebraní z toho Vectoru, zavolej Collections.sort() s Comparatorem implementovaným tak, aby řadil podle toho Integeru (stačí vracet výsledek metody compare u Integeru). Tohle bys měl mít hotové za 10 min. Kód ti momentálně žádný nevypotím, jsem už dost společensky unaven.
Když tak později (rozuměj až se vyspím)...
Věřím (když to máte v povědomí), 10 minut - no pro mě zatím rozohdně ne. Po 2 hodinách jsem se pokoušel dataVector narvat do Collections, tam nějak sortovat, a zase zpátky to předat do dataVector. No, fiasko na entou.
Zkrátka bych prosil návod pro tydýty.
Nějak tak...
Ještě jeden dotaz než přestanu otravovat.
Jak to seřadit opačně?
Mělo by to jít touto metodou: http://www.java2s.com/Code/JavaAPI/java.util/Colle ctionsreverseOrder.htm
Ale mě to nikde neposlouchá, ať to strkám kamkoliv. Ten nový kod je pro mě trochu high level.
Mělo by stačit upravit Comparator ve třídě SkoreNacitac takto:
PS: ještě si tam doplň ify, jestli o1 a o2 nejsou null, aby to někdy nepadalo na NullPointer...
Jak jinak, funguje krásně.
Díky moc. Příště to vezmu raději více od země.
Hmmmm, tak ne.
Nějakou blbou náhodou jsem měl sestupně zapsané data v tom txt, což mi nedošlo.
Zkrátka:
funguje(řadí vzestupně), ale
nedělá k překvapení ale vůbec nic.(Jen se načtou data z txt)
Ale když nad tím přemýšlím, tak i s (-1) by se to mělo řadit stejně, -3333 je více než -6666.
Ještě mě napadlo to převést na Double a vynásobit to 1/100000 ... ale taky nic nedělá.
SkoreNacitac.java
skore.txt
Se mi seřadí správně...
Jo jo, už taky řadí.
Program nějak stávkoval či co. Kody vedle sebe, rozdíl = 0, ale nějak se to po znovuvložení vzpamatovalo.
No, už se raději přestanu ztrapňovat, díky moc.
M.