Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.
Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »
Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.
Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).
Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.
Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »
Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Pokud v Netbeans umistim na JForm komponentu JList, vypada vygenerovany kod teto akce takto:
jList1.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item1", "Item2", "Item3", "Item4" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
Problem je, ze do takto vytvoreneho seznamu jList1 nemohu pridavat nove prvky. O tomto problemu se treba pise hned na zacatku tady: http://www.seasite.niu.edu/cs580java/JList_Basics.htm a hned za tim je popsany postup jak vytvorit seznam pomoci DefaultListModel tak aby pridavat prvky slo.
Proto jsem se chtel zeptat, zda nekdo nevi, jak Netbeans rict, aby jList vytvarel "inteligentneji" tim druhym zpusobem, abych pak mohl rovnou a lehce do seznamu pripdavat nove prvky.
Vim, ze resenim by bylo ten generovany kod pokazde prepisovat, ale to je v pripade vice seznamu dost otrava...
import java.util.ArrayList;
import javax.swing.AbstractListModel;
public class TestModel extends AbstractListModel {
private ArrayList<> data;
protected ArrayList<String> getData() {
if (data == null)
data = new ArrayList<String>();
return data;
}
@Override
public Object getElementAt(int arg0) {
return getData().get(arg0);
}
@Override
public int getSize() {
return getData().size();
}
}
JList nějaký smysl, musíte mu vždy předat nějaký model. A NetBeansy nemohou vědět, jaký model si přejete. Standardně vám vytvoří model, který umožňuje zobrazovat pevně daný seznam Stringů, který můžete měnit v době návrhu. Pokud chcete nějaký jiný model, musíte jej v grafickém návrháři změnit.
Také by bylo dobré nastudovat si něco o Swingu a konceptu MVC, protože Swing je postaven na oddělení grafických komponent, modelu (dat) a řízení aplikace, tj. neměl byste se na to dívat tak, že přidáváte další položky do nějaké komponenty JList, ale měl byste přidávat položky do nějakého datového seznamu (do modelu), a JList pouze reprezentuje tento model uživateli (a může ho klidně reprezentovat úplně něco jiného, třeba odrážkový seznam v HTML).
Aby mělJListnějaký smysl, musíte mu vždy předat nějaký model. A NetBeansy nemohou vědět, jaký model si přejete. Standardně vám vytvoří model, který umožňuje zobrazovat pevně daný seznam Stringů, který můžete měnit v době návrhu. Pokud chcete nějaký jiný model, musíte jej v grafickém návrháři změnit.
Ano, ja chci jiny model, ale prave v tom grafickem navrhari nemuzu nikde najit, kde toho dosahnout. Jsem slepy nebo to tam neni? Mam netbeans 6.7.
Také by bylo dobré nastudovat si něco o Swingu a konceptu MVC, protože Swing je postaven na oddělení grafických komponent, modelu (dat) a řízení aplikace, tj. neměl byste se na to dívat tak, že přidáváte další položky do nějaké komponenty JList, ale měl byste přidávat položky do nějakého datového seznamu (do modelu), a JList pouze reprezentuje tento model uživateli (a může ho klidně reprezentovat úplně něco jiného, třeba odrážkový seznam v HTML).
O MVC jiste potuchy mam, pouze jsem se vyjadroval zjednodusene - tedy nepresne.
Ano, ja chci jiny model, ale prave v tom grafickem navrhari nemuzu nikde najit, kde toho dosahnout. Jsem slepy nebo to tam neni? Mam netbeans 6.7.Ve vlastnostech (properties) je vlastnost (property)
model. Ta má specializovaný editor, který vám umožní editovat ten model vytvořený NetBeansy, nastavit model jako vlastnost z jiné komponenty, nebo zadat vlastní kód, který model nastavíte. Případně pokud používat tu bindovací knihovnu, kterou používají NetBeansy, můžete model nastavit přes binding.
Dobre, tak jsem ten automaticky generovany v metode private void initComponents() kod upravil pres ten editor z:
jList1 = new javax.swing.JList();
jList1.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane2.setViewportView(jList2);
na
DefaultListModel m = new DefaultListModel();
m.addElement("Prvek 1");
m.addElement("Prvek 2");
m.addElement("Prvek 3");
jList1 = new javax.swing.JList();
jList1.setModel(m);
jScrollPane1.setViewportView(jList1);
Pres model m tedy nyni mohu pridavat dalsi prvky, avsak k teto promenne se zvenci (naprihlad z ActionPerformed tlacitka pro pridani noveho prvku do seznamu) nemohu dostat. Jak to prosim resit?
Pres model m tedy nyni mohu pridavat dalsi prvky, avsak k teto promenne se zvenci (naprihlad z ActionPerformed tlacitka pro pridani noveho prvku do seznamu) nemohu dostat. Jak to prosim resit?Tak, že si ve formuláři vytvoříte field typu
ListModel (nebo jeho potomka) a do modelu JListu nastavíte jako model ten.
Pak bych také doporučil přečíst si nějakou základní učebnici Javy a OOP, třeba Učebnice jazyka Java od p. Herouta. Jedno z pokračování se pak zabývá i GUI: Java - grafické uživatelské prostředí a čeština – sice se zabývá především AWT, ale základní principy jsou stejné i pro Swing.
Tiskni
Sdílej: