abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 12:44 | IT novinky

    Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 12:00 | IT novinky

    Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Zajímavý článek

    Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.

    vencour | Komentářů: 0
    včera 15:11 | Nová verze

    Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.

    Ladislav Hagara | Komentářů: 3
    včera 13:55 | Zajímavý článek

    Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými

    … více »
    vencour | Komentářů: 1
    včera 13:00 | Zajímavý článek

    Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.

    vencour | Komentářů: 0
    30.10. 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 16
    30.10. 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 20
    29.10. 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2961 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Java - zmena tableModelu za behu

    30.1.2011 15:05 Mitch
    Java - zmena tableModelu za behu
    Přečteno: 730×
    Dobrý den,

    píši Swing aplikaci, která má v hlavním okně tabulku a v ní zobrazuje data, podle toho, v jaké sekci se zrovna uživatel nachází. Změnu dat řeším tím, že tabulce vždy nastavím odpovídající TableModel s daty. Problém ovšem je, pokud přejdu ze sekce, kde bylo zobrazeno v tabulce třeba 50 řádků do sekce kde si jich má zobrazit jen 10, tak i po nastaveni správného tableModelu (s metodou get rowCount vracející správný počet řádků) metodou setModel si tabulka myslí, že má zobrazit stále tech 50 řádku, nikoliv jen 10. Obráceně to ale funguje korektně, tj při přechodu 10 -> 50 se zobrazí všech 50 řádků. Vůbec nevím, jak to mám té tabulce říct, že těch řádků je méně. A Java tutorials toto téma vůbec neřeší.

    Tak pokud máte někdo s tím to zkušenosti, budu velmi rád za jakoukoliv radu či popostrčení.


    Řešení dotazu:


    Odpovědi

    30.1.2011 15:13 XY
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    swing som uz davno neriesil, ale prve co ma napadlo: a co tak zmenou sekcie nevymenit len model, ale cely table komponent?
    30.1.2011 15:31 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    To by určitě šlo, nicméně to není moc elegantní řešení a musel bych složitě sahat do layoutu. Výměna TableModelu mně přijde jednodušší a mnohem elegantnější.
    30.1.2011 16:03 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Voláte na té tabulce tableChanged(), nebo jí dáte jinak vědět, že se data změnila? setModel() jenom zaregistruje správné posluchače, ale pokud vím, neřeší změnu dat.
    30.1.2011 16:33 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Ne, tuto metodu nevolám. Zkoumal jsem jí už předtím, ale nebyl jsem sto přijít na to, jak přesně funguje a jestly je to přímo to co potřebuji. Není mi úplně jasné co jí mám předat za parametr, žádný tableModelEvent v aplikaci nemám. Respektive tableModel nemá registrovaný žádný Listener.
    30.1.2011 16:49 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Trochu střílím od boku, ale nepomůže na tom modelu zavolat fireTableDataChanged()?
    Překladač ti nikdy neřekne: "budeme kamarádi"
    30.1.2011 16:58 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    To je lepší varianta. Pokud tedy model dědí z AbstractTableModel. Nebo bude nutné podobnou funkci vytvořit – prostě je nutné tabulce říct, že se změnil počet řádků i jejich obsah.
    30.1.2011 17:37 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Toto samozřejmě dělám. Po každé změně tableModelu jej naplním daty a zavolám
    tableModel.fireTableDataChanged();
    Ale stejně mě ty vždy vyhodí výjimku že jsem mimo rozsah pole, tj. tabulka vola metodu tableModelu getValueAt() s rowIndexem vetsim, nežli je počet záznamu v ArrayListu.

    Dyštak ještě přikládá, výjimku co to háže, ale mě z ní stále vychází, že tabulka neví o změněném počtu řádků.

    Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    	at java.util.ArrayList.get(ArrayList.java:322)
    	at gui.UzivateleTableModel.getValueAt(UzivateleTableModel.java:31)
    	at javax.swing.JTable.getValueAt(JTable.java:2686)
    	at javax.swing.JTable.prepareRenderer(JTable.java:5703)
    	at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2072)
    	at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1974)
    	at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1770)
    	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
    	at javax.swing.JComponent.paintComponent(JComponent.java:752)
    	at javax.swing.JComponent.paint(JComponent.java:1029)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paint(JComponent.java:1038)
    	at javax.swing.JViewport.paint(JViewport.java:747)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paint(JComponent.java:1038)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paint(JComponent.java:1038)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paint(JComponent.java:1038)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paint(JComponent.java:1038)
    	at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
    	at javax.swing.JComponent.paintChildren(JComponent.java:862)
    	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
    	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
    	at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
    	at javax.swing.JComponent.paint(JComponent.java:1015)
    	at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
    	at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
    	at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
    	at java.awt.Container.paint(Container.java:1780)
    	at java.awt.Window.paint(Window.java:3375)
    	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
    	at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
    	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
    	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    PS: Teď mě ještě napadá, nemůže to mít nějakou souvislost s vlákny, že se gui operace neprovádí v
    SwingUtilities.ivokeLater()
    ?
    30.1.2011 17:38 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Spíš javax.swing.table.AbstractTableModel.fireTableStructureChanged
    30.1.2011 17:52 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Tu jsem zkoušel také, bohužel bez úspěchu. Vpodstatě vše podstatné se děje v těchto dvou metodách. nejdříve se zavolá ta nastavTableModel a pak zobrazUzivatele
    private void zobrazUzivatele() {
    		UzivateleCol.getInstance().getUzivatele(null);			
    		tableModel.setData(UzivateleCol.getInstance());
    		tableModel.fireTableDataChanged();			
    	}
    	
    	private void nastavTableModel() {		
    		/*  nastavíme tabulce nový table model pro práci s uživateli */		
    		
    		tabulka.setModel(tableModel);
    		//tableModel.fireTableStructureChanged();
    tableModel.fireTableDataChanged();
    	}
    30.1.2011 17:56 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Pokud používáte AbstractTableModel, stačí se podívat do JavaDocu, že těch metod fireTable* tam je více a přečíst si jejich dokumentaci.
    30.1.2011 18:02 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Ano, to já vše vím. Ale nic z toho nefunguje, ze zoufalosti jsem už zkoušel opravdu téměř každou blbost.
    30.1.2011 18:16 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Není potřeba nic zkoušet, v dokumentaci je napsané, co která metoda dělá, případně si to můžete ověřit ve zdrojáku. Ve zdrojáku je také vidět, že když zavoláte tableChanged(null), mělo by se s modelem začít úplně od začátku. Jinak měnit model tabulky za běhu je trochu divné, měl byste měnit data v tom modelu.
    30.1.2011 18:26 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Ano já vím, ale tady není problém s modelem, ten funguje korektně, tady jde o tabulku, která si pamatuje počet řádků a nechce ho zmenšit, nicméně pokud je počet řádků v novém tableModelu větší, tak je zobrazí všechny. A ta změna tableModelu je proto, protože každý tableModel zobrazuje jiná data, v každém sloupečku jiné dat.typy a podobně, takže to v podstatě ani jinak nejde.
    30.1.2011 18:44 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Co ještě zkusit tu předchozí navrhovanou variantu? Tj. mít pro každý model vlastní JTable a pak je jen prohazovat přes setVisible?
    Překladač ti nikdy neřekne: "budeme kamarádi"
    Řešení 1× (ZAH)
    30.1.2011 18:33 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Nějaký bordel s RowSorter ???
    30.1.2011 18:42 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Ano, rowSorter opravdu používám, na to se schválně podívám, to mě ještě nanapadlo.
    30.1.2011 18:51 Mitch
    Rozbalit Rozbalit vše Re: Java - zmena tableModelu za behu
    Pane vy jste genius, opravdu to byl ten RowSorter. Po jeho nahrazení novým vše šlape jak hodinky.

    Děkuji všem za pomoc a za nakopnutí:-)

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.