Re: scrolling v s JTable
Ahoj pro zmenu selekce a scroll to selected row se pouziva metoda changeSelection - jtable ale musi mit nastaveno autoscroll na true. Petr http://pcharvat.blogspot.com Vity wrote: Zdravim, pouzivam tuto funkci : - up urcuje, zda se ma posunout vuci poslednimu nebo prvnimu radku v selekci private void scrollToVisible(final boolean up) { final int[] rows = table.getSelectedRows(); final int length = rows.length; if (length 0) table.scrollRowToVisible((up) ? rows[0] : rows[length - 1]); } Staci ji volat dle libosti - napr. navesit si udalost na SelectionModel tabulky... -Vity -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arne Sent: Wednesday, December 03, 2008 11:39 AM To: konference@java.cz Subject: scrolling v s JTable Zdravim pánové a dámo :-)! Mám menší problémek. Mám tabulku typu JTable se skrolerem JScrollPane. Chci najít řádek podle nějakého kritéria selektovat ho. To není problém. Jakmile je tento řádek mimo zobrazovaný výřez mám problém přesunout ScrollPane tak, aby byl tento řádek v zobrazovaném výřezu. Samotný selekt řádku mi to nazařídil. Použil jsem JTable.setRowSelectionInterval(od,do) Možná hledám blbě ale nic jiného mě z metod JTable nezaujalo. Můžete mi někdo poradit, jak tohle sesouhlasení řádku tabulky s výřezem ScrollPane udělat? V tutoriálu javy u Sun-u jsem nic vhodného nenašel. Stačí mi odkaz na nějaký příklad na netu. Používám GUI Swing. Díky vřele! Arne
Re: Komercni e-shopy
Neznate nekdo open-source e-shop psavny v jave? Nejak nemam po nocich co delat, a tohle by me bavilo. Petr Lukas Zapletal wrote: Dobry den, mate nekdo tip na dobry komercni e-shopovy systemek napsany v Jave? Snadno rozsirovatelny, skinovatelny a s dobrym napojenim na firemni infrastrukturu? Dal bych radeji prednost resenim od vetsi firmy, dulezita by byla spickova podpora, ktera bude pri implementaci u zakaznika potrebna. Diky
Re: Multi Column RowFilter
Ahoj, poradim ti neprimo. filtrovani a sortovani seznamu (specialni pripad tabulka) pomoci dekoratoru na TableModel uz bylo prekonane v case vydani glazedlists. Mrni na http://publicobject.com/glazedlists/. Mam tuto knihovnu prakticky odzkousenou na nekolika projektech a uspechem - fast and reliable. Petr Charvat [EMAIL PROTECTED] wrote: Hoj, pokousim se upravit RowFilter aby filtroval na vice column na muj TableModel a asi jdu spatnym smerem(porad mi hazi null exception): hodnotaFiltru[column] = jTextField1.getText(); TableRowSorter sorter = (TableRowSorter) jTab.getRowSorter(); RowFilterTableModel, Object[] rf = null; try { for (int i = 0; i jTab.getColumnCount(); i++) { if ((hodnotaFiltru[i]!= null)(hodnotaFiltru.length0)){ rf[i] = RowFilter.regexFilter(hodnotaFiltru[i], i); } } } catch (java.util.regex.PatternSyntaxException e) { return; } for (int i = 0; i rf.length; i++) { sorter.setRowFilter(rf[i]); } funguje mi verze filtrovani na jeden column hodnotaFiltru[column] = jTextField1.getText(); TableRowSorter sorter = (TableRowSorter) jTab.getRowSorter(); RowFilterTableModel, Object rf = null; try { rf = RowFilter.regexFilter(hodnotaFiltru[column], column); } catch (java.util.regex.PatternSyntaxException e) { return; } sorter.setRowFilter(rf); nemohl by me nekdo navest, nebo spis rict jestli to vubec jde tak upravit jak potrebuju ? PetrR
oracle - propagace trigger event skrz jdbc connection
Zdravim, Mam dvouvrstvou aplikaci, mnoho tlustych klientu a jednu databazi. Resim problem aktualnosti zobrazovanych dat na strane klienta - pokud jeden klient neco zmeni, ostatni klienti by se to meli dozvedet a zmenene zaznamy si refresnout. Rikal jsem si, ze by to slo vyresit na urovni triggru. Podporuje takovou feature oracle (10g) ? Poteboval bych nasmerovat - keyword ktery muzu napsat do googlu. Diky Petr Charvat
Re: Image v JTable
Doporucuji nepouzivat DefaultTableModel vubec. Hodi se jen na velice jednoduche pripady. Vetsina 'realinych' tabulek je sprazena s AbstractTableModel. Pokud chcete i tabulku sortovat, filtrovat - doporucuji pouzit glazedlists framework. Je zadarmo a rychle se uci - maji pekne tutorial videa. Petr Charvat Martin Jedlička wrote: Bohuzel mate pravdu ;) Ja mam model oddedeny od DefaultTableModel (ktery dela razeni), protoze jsem potreboval funkce addrow, remoterow atd. Takze ted nevim co s tim...Mam udelat novy model od AbstractTableModel ?? To se mi ale moc nechce, protoze stavajici tabulka je uz docela ve velkem rozsahu a nechce se mi to cely menit. Navic nevim, jak se vyporadat s daty (pridavani vektoru jako radku - ted jsem pouzival prave addrow). Takze nejaka rada? Diky. Martin Tomas Zverina napsal(a): Ikonka se zmeni, pokud model tabulky vyvola udalost, ze se zmenil. Samotne nacpani do vecotru stacit nebude, musite krome nacpani informovat vsechny listenery toho modelu, ze jste neco zmenil. Pokud jste dedil AbstractTableModel, poohlednete se v nem po fire* metodach, jak uz psala Lucka. Pokud jste ho nededil, pak jste nejspis osidil metody addTableModelListener a removeTableModelListener a ted toho litujete :-) Martin Jedlička píše v Po 19. 02. 2007 v 16:59 +0100: Nekam ne to navedlo, ale bohuzel nevim, zda spravnym smerem. Model tabulky mam vlastni (razeni) oddedeny od DefaultTableModel. Kazdy radek vkladam jako vektor (resp. mam vlastni tridu oddedenou od Vektoru). Potom mam pole techto vektoru reprezentujici ty radky. Kdyz zmenim neco v jednom vektoru (napr. prvni element je cesta k ikonce), tak potrebuju, aby se mi ta ikonka taky zmenila v tabulce... M. Lucie Rut Bittnerova napsal(a): On Mon, 19 Feb 2007, Martin Jedlička wrote: Zdravim, potreboval bych v tabulce mit na kazdem radku ikonku, ktera by se dala menit po kliknuti napr. nejakeho tlacitka. Myslel jsem, ze to vyresim tak, ze pouziju vlastni CellRenderer oddedeny od JButton (rozhranni TableCellRenderer) a pak CellEditor oddedeny od DefaultCellEditor. Bohuzel ted nevim, jak vyresit to, aby se mi zmenila ikonka na danem radku, aniz bych na ten radek kliknul(pri kliknuti je to jednoduchy pomoci getTableCellEditorComponent). Proste bych to potreboval udelat tak,abych zadal pouze cislo radku (napr. nekde v jinem okne) a po kliknuti nejakeho tlacitka se na na danem radku zmenila ikonka. Nevite, jak na to? Dekuju za kazdou radu. Martin Dobry den! Nevim, jestli chapu presne co chcete, ale snad Vam pomuze toto. Ikona by mela zaviset tedy asi na nejakych datech v TableModel, ktera aktualizujete pri vyvolani akce, po ktere ma nasledovat zmena vybrane ikony v tabulce (napr. po tom kliknuti uzivatelem na nejake tlacitko). Model tabulky muze napriklad ikonu predavat primo jako obsah nektereho sloupce tabulky, coz je nejjednodussi varianta. Po aktualizaci se pak v modelu tabulky zavola metoda fireTableCellUpdated(...) nebo nektera z obdobnych metod, ktere informuji posluchace udalosti (mezi nimiz je JTable) o zmene modelu tabulky. Lucie
Re: JXDatePicker a JGoodies Binding
Zdravim, Pouzivam JBoodies Binding uz dlouho (asi rok) a jsem velice spokojen. Je natolik obecny, ze si muzes napsat binding sam - to byl i muj pripad - mel jsem nekolik not-free a customer-specific komponent a v pohode. Petr Charvat URBAN Leos wrote: Ahoj, nevite nekdo jak pouzit JXDatePicker (ze Swingx) s JGoodies Binding? Pripadne nemate tip jakou jinou podobnou datumovou komponentu s tim pouzit? A obecne: pouzivate nekdo v praxi JGoodies Binding? Diky, Leos
Re: swing literatura
V cestine toho moc neni :-( 1 . Vyborna (a taky hodne tlusta) je Swing Second Edition by Robinson and Vorobiev http://www.manning.com/robinson2/ (ostatne jako temer vse od manning), 2. Swing Hacks by Marinacci and Adamson http://www.oreilly.com/catalog/swinghks/ -- Petr Charvat Sw. Designer Sr. CERTICON, a.s. Vaclavska 12 120 00 Praha 2 Tel.: +420 221 460 246 Tomas Beranek wrote: Nevite nekdo o slusne literature java swing. Pokud mozno v cestine. diky Tomas
Re: vhodny framework pro tlusteho klienta
Dekuji vsem na odpoved. Musim projit vsechny doporuceni co jste mi dali a uvidim (dam vedet). Uvazoval jsem i nad resenim, ze bych stavajici server psany v c++ premostil standardnim j2ee serverem, ke kteremu by se 'tlusti' klienti pripojovali (proste bych mezi stavajici server a klienta strcil dalsi server - ktery je ale prece jen standardizovanejsi. Predpokladam, ze pro reseni j2ee server + tlusy klient nejaky hotovy framework existuje (na tenkeho kliena jich je kazdopadne tuna).Tim bych presunul podivnou komunikaci pres xml na server a klienti by se pres standardni session beans komunikovali se javovym serverem. Pokud by tedy novy server umel odpovidat a notifikovat rychle - na strane klienta bych ani nemusel stavet cache. Jak se divate na takove reseni? Petr Charvat Petr Ferschmann wrote: Dobrý den, také bych rád přispěl k diskusi. Řešili jsme problém v clusteru s přetíženou databází (tj. snížení jejího zatížení). Používali jsme hibernate a OSCache běžící nad JGroups. Fungovalo to tak, že se aplikace přímo připojovala přes Hibernate k databázi. Transakce zde byly relativně krátké, takže nám stačilo obnovení vždy na okraji transakce (tj. v hibernate jsme data z first level cache neobnovovali, jen second level cache). Důležité bylo, toho co nejvíce v hibernate cachovat - od entit, po relace. Výsledky query myslím, nešli distribuovat. Pokud byly provedeny nějaké změny, byly pomocí OSCache přes JGroups distribuované ke všem klientům. Jednotlivý klienti se připojovali ke GOSSIP serveru (součást JGroups) a přijímali aktualizace cache. Protože jsme nepoužívali reliable messaging bylo v případě ztráty spojení na gossip server nutné samozřejmě vše obnovit jinak (např. restartem aplikace nebo zneplatněním celé cache), protože bylo možné, že se některé zprávy nepřijaly. Fungovalo to celkem spolehlivě, nicméně to nikdy nebylo nasazeno v ostrém provozu (z netechnických důvodů). Mezi jednotlivými prvky byla poměrně rychlá linka (100Mb/s), takže jsme ani neřešili náročnost přenosu. Myslím, že by toto mohla být cesta. Výhoda OSCache je, že se o vše pak stará sama. Vy prostě jen umisťujete data do této cache. Když do ní něco uložíte samo se to rozdistribuje. Pokud nějaká data v cache nejsou, načtete je ze serveru (tj. požádáte si o ně). Snad jsem Vám alespoň trošku pomohl. Petr Ferschmann Stavajici framework je velicie neprehledny (vznikal jako snehova koule) a mam moznost jeho vnitnosti prepsat (vyextrahovat api a reimplementovat streva). Jde mi o to, ze se mi nechce psat dalsi framework, kterych uz je na svete tuna. Proto jsem se ptal na nejake hotove reseni. Petr Ferschmann SoftEU s.r.o. --- Sady Petatricatniku 31 301 00 Plzen Czech Republic --- Phone: +420 373 729 300 Fax: +420 373 729 301 Cell: +420 775 638 008 E-mail: [EMAIL PROTECTED]
Re: vhodny framework pro tlusteho klienta
Jiri Fabian wrote: Zdravim, priznam se, ze prilis nerozumim zadani. 1. chcete zmenit styl komunikace se serverem = prepsani perzistentni vrstvy? To bohuzel nemuzu (prestoze bych si to tisickrat pral). 2. chcete ulevit klientovi - ukladat veci, ktere si drzi lokalne v pameti = prepsani perzistentni vrstvy? Ano. Jak mi to tak prijde, potreboval bys te nejakou lokalni/distribuovanou cache neco na zpusob http://www.jboss.org/products/jbosscache. S pozdravem, Jiri Fabian -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Charvat Petr Sent: Wednesday, August 02, 2006 1:06 PM To: Java Subject: vhodny framework pro tlusteho klienta Zdravim, Delame tlusteho klienta ve swingu, ktery komunikuje se specializovanym serverem (c++). Ten se stara a konfiguraci a monitoring pomerne sloziteho hardwaru (predstavte si treba velkou telefoni ustrednu kterou je mozno konfigurovat az to hezke neni). Klient zobrazuje a umoznuje zadavat a menit data (konfiguruje telefoni karty)- v podstate standardni insert/update/delete operace. Server si data uklada do sve databaze - oracle. Veskera komunikace se serverem je pres corbu. Stavajici implementace pouziva pro datove toky (ins/up/del) xml notifikace ve ktere se posle celky objekt (v podstate jedna radka databazove tabulky). Dalsi zajimava vlastnost je ta, ze kdyz jeden client zmeni nejaky objekt (provede transakci), server notifikuje ostatni klienty a ti provedou refresh. Toto reseni je nejake (historicky) a celkem funguje dobre. Bohuzel jsme se dostali do stavu, kdy na strane klienta se drzi velke mnozstvi informaci o objektech (cache) a toto je velice memory consuming. Jsme tedy ve stavu, kdy musime prepsat persistentni vrstvu na strane klienta (nejen kvuli pameti ale i kvuli maintenance, speed ...). V tuto chvili mi jde o to rozhodnout, jestli neexistuje nejake uz hotove reseni (knihovna, framework apod) ktere by tento ukol plnilo. Libilo by se mi pristup jaky ma hibernate ale s tim, ze nema za sebou databazi, ale svuj persistentni stroj (xml-server). Neznate neco nakoveho? Diku Petr Charvat PS: Predesilam ze s architekturou celeho systemu se neda momentalne nic delat. Jde mi ciste o stranu klienta.
Re: vhodny framework pro tlusteho klienta
Pekny den Diky za odpoved. Stavajici reseni je ciste takove ze si klient posila se servrem xml stringy - ktere ale semanticky odpovidaji databazovym dotazum/prikazum. Napsat vlasni JDBC driver (ktery preklada sql do proprietalniho jazyka xml) se mi zda jako vtipne reseni - zkusim to za dlouhych zimnich veceru, az nebudu mit co delat. Stavajici framework je velicie neprehledny (vznikal jako snehova koule) a mam moznost jeho vnitnosti prepsat (vyextrahovat api a reimplementovat streva). Jde mi o to, ze se mi nechce psat dalsi framework, kterych uz je na svete tuna. Proto jsem se ptal na nejake hotove reseni. btw: jak by jste resili situaci, kdy mate standardni j2ee server a tlusteho klienta ve swingu? Tam hibernate na strane klienta pouzit nelze. Pro notifikace se serveru by slo pouzit JMS - nebo by bylo lepsi reseni s JBoss TreeCache? Diky Petr Charvat Roman Kratochvil wrote: Dobry den, s popisovanou architekturou tlusteho klienta i s jejimi variantami mam sve urcite zkusenosti, a proto mozna bude znit tato rada zvlastne, ale: pokud je jedinym problemem, ktery resite, mnozstvi dat na klientovi, a zbytek funguje ok, tak udelejte co nejmene, usetrite si tak *mnoho* dalsich problemu. V prvni rade bych zkusil tu cache na klientovi implementovat ve stylu LRU, aby se pri vhodne prilezitosti (konec transakce, nebo nejak asynchronne) z ni dlouho nepouzivana data odstranovala. Reseni ala hibernate (nebo ala JDBC nebo ala cokoliv takto dvouvrstveho) ma svuj primarni problem ve vykonu: pokazde se budete serveru dotazovat na data, ktera potrebujete. Bylo by pro vas skvele, kdybyste zjistili, ze je nepotrebujete cachovat vubec, ze i tak je vykon dostatecny; ovsem to zrejme neodpovida vasi situaci, kdyz uz cache na klientovi mate. Pokud si ta data budete cachovat, tak opet resite problem z prvniho odtavce, nezavisle na pouzitem frameworku. Je otazka, zda se vam kompletni prepis za techto okolnosti vyplati. Samozrejme, muzou k nemu byt i jine duvody (kod je neudrzovatelny apod.), to uz ja nevim. Roman - Original Message - From: Charvat Petr [EMAIL PROTECTED] To: Java konference@java.cz Sent: Wednesday, August 02, 2006 1:06 PM Subject: vhodny framework pro tlusteho klienta Zdravim, Delame tlusteho klienta ve swingu, ktery komunikuje se specializovanym serverem (c++). Ten se stara a konfiguraci a monitoring pomerne sloziteho hardwaru (predstavte si treba velkou telefoni ustrednu kterou je mozno konfigurovat az to hezke neni). Klient zobrazuje a umoznuje zadavat a menit data (konfiguruje telefoni karty)- v podstate standardni insert/update/delete operace. Server si data uklada do sve databaze - oracle. Veskera komunikace se serverem je pres corbu. Stavajici implementace pouziva pro datove toky (ins/up/del) xml notifikace ve ktere se posle celky objekt (v podstate jedna radka databazove tabulky). Dalsi zajimava vlastnost je ta, ze kdyz jeden client zmeni nejaky objekt (provede transakci), server notifikuje ostatni klienty a ti provedou refresh. Toto reseni je nejake (historicky) a celkem funguje dobre. Bohuzel jsme se dostali do stavu, kdy na strane klienta se drzi velke mnozstvi informaci o objektech (cache) a toto je velice memory consuming. Jsme tedy ve stavu, kdy musime prepsat persistentni vrstvu na strane klienta (nejen kvuli pameti ale i kvuli maintenance, speed ...). V tuto chvili mi jde o to rozhodnout, jestli neexistuje nejake uz hotove reseni (knihovna, framework apod) ktere by tento ukol plnilo. Libilo by se mi pristup jaky ma hibernate ale s tim, ze nema za sebou databazi, ale svuj persistentni stroj (xml-server). Neznate neco nakoveho? Diku Petr Charvat PS: Predesilam ze s architekturou celeho systemu se neda momentalne nic delat. Jde mi ciste o stranu klienta.
Re: SWING - JTable.setBackground
Zkus to takhle JScrollPane scrollPane = new JScrollPane( table ); scrollPane.getViewport().setBackground( table.getBackground() ); Petr Ing. Petr Charvát Project Manager CertiCon, a.s. tel: +420 221 460 248 e-mail: [EMAIL PROTECTED] Václavská 12/316, Praha 2 P D wrote: Mam maly Swing problem. Vytvoril som JTable kompnent umiestneny v JScrollPane. Riadky pridavam cas od casu v zavislosti od uzivatelskeho vstupu. Ked je umiestnenych par riadkov (3-4 riadky), zvysok volneho miesta je lightGray. Ako zmenim tuto farbu napriklad na ciernu? JTable.setBackground nastavi farbu pozadia iba pre vlozene bunky, nie pre nevyuzity priestor (ktoreho farbu chcem zmenit)