Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
Pro moddery Minecraftu: Java edice Minecraftu bude bez obfuskace.
Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                 
                    setReverse(/*tady bych chtěl aby byla pozice karty*/);
                }
Listenery jsem připojoval ve for cyklu a chtěl jsem dát listeneru právě to číslo, když jsem nepřišel, jak jinak poslat přes event právě pozici karty, jenže tohle prostě nejde. Nejde to, kvůli tomu, že jakákoliv proměnná musí být final, takže když bych pro každou kartu ten listener napsal a přiřadil mu tu hodnotu, tak by to šlo, ale tohle přeci jenom nejde u 64 karet.
Pak jsem dostal nápad, že ten listener zavolá metodu, která projde pole karet a určí která karta byla otočená. Tohle bohužel taky nejde, protože se ta metoda zavolá dřív, než se cokoliv v tom objektu, který událost vyvolá, změní. A tím jsem vyčerpal všechny moje nápady jak na to.
Myslím si, že by tady někdo mohl vědět, jak zjistit v tom listeneru pozici toho prvku popřípadě jak udělat aby to ten prvek nějak tomu listeneru poslal.
Snad někdo pochopí o co mi jde  . Předem moc díky za jakýkoliv nápad, radu atp. Přijde vám taky, že swing a celkově java má naprosto otřesnou dokumentaci v porovnáním třeba s Qt?
. Předem moc díky za jakýkoliv nápad, radu atp. Přijde vám taky, že swing a celkově java má naprosto otřesnou dokumentaci v porovnáním třeba s Qt?
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
 13.4.2010 19:10
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        13.4.2010 19:10
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         13.4.2010 19:15
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        13.4.2010 19:15
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         
             13.4.2010 19:23
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        13.4.2010 19:23
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             13.4.2010 19:25
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        13.4.2010 19:25
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             13.4.2010 19:45
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        13.4.2010 19:45
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         13.4.2010 20:04
vlastikroot             | skóre: 24
             | blog: vlastikovo
             | Milevsko
        13.4.2010 20:04
vlastikroot             | skóre: 24
             | blog: vlastikovo
             | Milevsko
         
             15.4.2010 00:34
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 00:34
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 01:37
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 01:37
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 01:48
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 01:48
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         15.4.2010 01:53
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 01:53
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 01:54
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 01:54
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             Náš administrátor shledal tento komentář
        závadným.
        Náš administrátor shledal tento komentář
        závadným.
            Nevhodné pro prohlížení před dětmi nebo na veřejnosti.
Zobrazit komentář 16.4.2010 00:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        16.4.2010 00:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             
  
             16.4.2010 10:39
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
        16.4.2010 10:39
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
         
            
 16.4.2010 11:26
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        16.4.2010 11:26
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             16.4.2010 14:16
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        16.4.2010 14:16
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         
             18.4.2010 14:22
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        18.4.2010 14:22
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             
             15.4.2010 02:28
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 02:28
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 09:05
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
        15.4.2010 09:05
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
         15.4.2010 09:21
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 09:21
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         .
.
             15.4.2010 09:32
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
        15.4.2010 09:32
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
         15.4.2010 12:53
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 12:53
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 14:56
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 14:56
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         
             15.4.2010 15:05
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 15:05
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        jsem ze sebe úplně udělal debilaTak to bys nám moh dělat mluvčího, splňuješ požadavky!
 
             16.4.2010 08:22
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        16.4.2010 08:22
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        
 15.4.2010 15:22
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 15:22
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             18.4.2010 19:37
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
        18.4.2010 19:37
Václav "Darm" Novák             | skóre: 26
             | blog: Darmovy_kecy
             | Bechyně / Praha
         18.4.2010 20:58
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        18.4.2010 20:58
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         13.4.2010 23:21
AraxoN             | skóre: 47
             | blog: slon_v_porcelane
             | Košice
        13.4.2010 23:21
AraxoN             | skóre: 47
             | blog: slon_v_porcelane
             | Košice
         
             14.4.2010 07:25
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        14.4.2010 07:25
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         14.4.2010 15:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        14.4.2010 15:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         14.4.2010 16:24
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        14.4.2010 16:24
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         14.4.2010 19:26
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        14.4.2010 19:26
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         .
.
             14.4.2010 21:57
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        14.4.2010 21:57
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         
             15.4.2010 02:18
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 02:18
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         
             15.4.2010 02:32
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 02:32
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 12:51
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 12:51
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
         15.4.2010 14:26
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
        15.4.2010 14:26
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
         
a vysranej zvuk by mohlo mit na triku to novy uzasny pulse-audio ...
 15.4.2010 14:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        15.4.2010 14:48
=^..^= AmigaPower®             | skóre: 30
             | blog: BLB
             | Praha
        no jestli tam mas voba najednou, tak by to mohlo bejt timne
a vysranej zvuk by mohlo mit na triku to novy uzasny pulse-audio ...ne
 15.4.2010 09:51
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
        15.4.2010 09:51
kotyz             | skóre: 25
             | blog: kotyzblog
             | Plzeň
         
            
for(int i=0; i<64; i++) {
   final Integer cardIdx = Integer.valueOf(i);
   addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                 
                    setReverse(cardIdx);
                }); 
}
Já osobně bych tedy nedělal celou novou komponenentu děděním od JComponent (to Component je doufám překlep) a vyšel bych z některého potomka AbstractButton. Případně to celé dohromady udělal jako jednou komponentu která si bude vnitřní dělení na políčka dělat sama podle souřadnic, ušetří se starosti s layoutem.
            Přijde vám taky, že swing a celkově java má naprosto otřesnou dokumentaci v porovnáním třeba s Qt?Většina dokumentací jsou bohužel v porovnání s Qt otřesné...
public class TestListener implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent arg0) {
        ((MujObjekt)arg0.getSource()).get.....;
    }
}
Mela by se osetrit instance ale budiz.
Karta PeXeSa
public class OneButton extends JButton {
    private int pos;
    private Icon icon;
    public int getPos() {
        return pos;
    }
    public Icon getIcon() {
        return icon;
    }
    public OneButton(int pos, Icon icon) {
        super();
        this.pos = pos;
        this.icon = icon;
    }
    public void setPos(int pos) {
        this.pos = pos;
    }
    public void setIcon(Icon icon) {
        this.icon = icon;
    }
A jeste budej potrebovat panel s Layout.
ublic class PexesoPanel extends JPanel {
    public class ActListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
        }
    }
    private static final long serialVersionUID = 6290986162807731571L;
    public PexesoPanel() {
       setLayout(new GridLayout(8,8));
       for (int i=1;i<=64;i++){
           OneButton ob = new OneButton(i,randomImage());
           ob.addActionListener(new ActListener());
           add(ob);
       }
    }
        
    protected Icon randomImage(){
        return null;
    }
}
A nyni dodelat kostra by byla hlavne krasne obrazky kazdemu podle chuti.
             14.4.2010 07:16
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        14.4.2010 07:16
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         13.4.2010 22:26
multi             | skóre: 38
             | blog: JaNejsemOdsut
        13.4.2010 22:26
multi             | skóre: 38
             | blog: JaNejsemOdsut
            
        final proměnnou se to samozřejmě dá vyřešit (stačí jedna, nevím, proč si myslíte, ž ejich potřebujete 64). Tohle ale není problém Javy nebo Swingu, ale neznalosti základů objektového programování.
             14.4.2010 19:41
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        14.4.2010 19:41
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        final neznamená konstantu, ale proměnnou, jejíž hodnota je přiřazena při deklaraci – ale ta hodnota může být klidně dynamická, zjištěná až v době běhu. Takže třeba následující kód řeší váš problém přesně způsobem, o kterém v blogu tvrdíte, že nejde použít:
for (int karta = 0; karta < POCET_KARET, karta++) {
  final int poziceKarty = karta;
  addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      setReverse(poziceKarty);
    }
  }
}
Lepší než konstruovat 64 nebo kolik anonymních objektů se stejným kódem by mi ale přišlo udělat si neanonymní vnitřní třídu implementující listener, které byste pozici karty předával v konstruktoru (tím se zároveň vyhnete použití final). No a další možnost je použít jediný listener pro všechny karty, a pozici karty zjišťovat přímo z objektu, který událost vyvolal – z ActionEvent si ten objekt můžete vytáhnout, no a ten objekt může být třeba vaše třída rozšiřující JPanel, která bude mít jako vlastnost uvedenou právě pozici karty.
Ten váš kód je takový procedurální kód naivně zabalený do objektů, ten návrh s neanonymním listenerem alespoň vytkne společný kód, opravdu objektové je podle mne až to poslední, protože když tam pracujete s kartama, tak máte mít objekt karta a ten má mít vlastnost pozice, a ne že pozici budete zjišťovat bůhvíjakým způsobem.
            
Lepší než konstruovat 64 nebo kolik anonymních objektů se stejným kódem by mi ale přišlo udělat si neanonymní vnitřní třídu implementující listener, které byste pozici karty předával v konstruktoru (tím se zároveň vyhnete použití final).
Jenom taková poznámka: tyto dvě možnosti jsou v podstatě equivalentní, akorát v případě anonymní třídy je ten field skrytý. To je také důvod, proč musí být ta proměnná final - ve skutečnosti se ta proměnná použije jen při vytváření instance anonymní třídy, kdy se hodnota zkopíruje.
             15.4.2010 14:59
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 14:59
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        To je také důvod, proč musí být ta proměnná final - ve skutečnosti se ta proměnná použije jen při vytváření instance anonymní třídy, kdy se hodnota zkopíruje.Kdyby se hodnota kopírovala při vytváření instance vnitřní třídy, nemusela by být ta zdrojová proměnná označená jako final, ne? Podle mne to
final je naopak příznak toho, že se nekopíruje hodnota, ale použije se reference a tudíž změna hodnoty po vytvaření instance by změnila i hodnotu v té instanci vnitřní třídy.
            Ona by teoreticky opravdu býtTo je také důvod, proč musí být ta proměnná final - ve skutečnosti se ta proměnná použije jen při vytváření instance anonymní třídy, kdy se hodnota zkopíruje.Kdyby se hodnota kopírovala při vytváření instance vnitřní třídy, nemusela by být ta zdrojová proměnná označená jako final, ne? Podle mne tofinalje naopak příznak toho, že se nekopíruje hodnota, ale použije se reference a tudíž změna hodnoty po vytvaření instance by změnila i hodnotu v té instanci vnitřní třídy.
final nemusela. Jenomže pak by se ukázalo, že při zápisu se změna neprojeví uvnitř a naopak, při zápisu uvnitř se změna neprojeví venku. A celá iluze "closure" by vybouchla.
Tím že proměnná musí být final se můžeme tvářit, jako že to je opravdu ta proměnná - i když ve skutečnosti je to hodnota té proměnné.
             15.4.2010 15:01
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        15.4.2010 15:01
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
         14.4.2010 19:30
Saljack             | skóre: 28
             | blog: Saljack
             | Praha
        14.4.2010 19:30
Saljack             | skóre: 28
             | blog: Saljack
             | Praha