Diskuze: setAutoCreateRowSorter-třídění INTEGER je abecedně :(
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 16 zpráv z 16.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Vytvoř si vlastní třídu, která bude dědit od JTable a ve které bude metoda getColumnClass vracející správné datové typy a tu pak použij při návrhu toho formuláře místo JTable.
Díky. Jak jsem psal,ten formulář je naklikaný. Rodičovská třída je vidět, viz. výstřižek. Ale jak ji přepíšu? Zdá se mi, že toto pole je pro mne nepřístupné..
Omlouvám se. Jsem nějaký pomalý
. V systému, kde jsem pracoval doposud, jsem si mohl udělat vlastní
knihovnu tříd. A pak své třídy (zde např. tu JTable přizpůsobenou) z
knihovny tříd jen přetáhnout na formulář. Jde asi něco podobného i v
netbeans, že? Podívám se po tom. Případně, že mně ještě postrčíte,
budu rád a moc děkuji.
Přesně tak to funguje i v Netbeans, prostě vytvoříš tu třídu (a
hlavně zkompiluješ
) a pak
ji jenom přetáhneš do formuláře kde ji chceš.
No právě tomu nerozumím. Vytvořit tu třídu nějak tak
*/
public class IntgTable extends JTable {
public IntgTable() {
DefaultTableModel model = new DefaultTableModel();
TableRowSorter trs = new TableRowSorter(model);
...
//trs.setComparator(0, new IntComparator());
...
setRowSorter(trs);
setAutoCreateRowSorter(false);
}
}
není problém, ale jak ji "zvizualizovat", když nemá pod sebou formulář?
A jak ji pak nacpat do palety? Vůbec se nechytám 
takže vytvoření "custom controlu" je prý jednoduché
https://docs.oracle.com/…ontrols.html
nic z toho ale není v mých NetBeans (které jsem kvůli tomu povýšil na EE), není to návod pro Eclipse?
Na přidávání do palety kašli, prostě tu třídu IntgTable popadni v projekt exploreru a přetáhni ji na formulář v designeru, ona už se 'zvizualizuje' sama:)
jo ba, zrovna se mi to povedlo, jdu se sem pochlubit a .. pozdě 
je to tak jednoduché, až to šokuje 
Díky moc!
prosím ještě o pomoc, vytvořil jsem a přidal fo JFormu třídu
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class IntTab1 extends JTable {
class MyTableModel extends DefaultTableModel {
public MyTableModel(Object rowData[][], Object columnNames[]) {
super(rowData, columnNames);
}
@Override
public Class getColumnClass(int col) {
if (col == 1) //second column accepts only Integer values
return Integer.class;
else return Integer.class; //other columns accept String values
}
@Override
public boolean isCellEditable(int row, int col) {
if (col == 0) //first column will be uneditable
return false;
else return true;
}
}
public IntTab1 (TableModel MyTableModel) {
}
}
ALE:
v generované sekci Init Components se objeví chyba, viz. obrázek.
Tu třídu přepisuju od rána a ne a ne na to přijít.
Udělal jsem si na MousePressed vypsání getColumnName(0).getClass().. a byl to stále string. A teď je špatně konstruktor.
je to špatně, ano, ale nevím, jak svůj TableModel té tabulce vnutit.
Ale toto
public class IntTab1 extends JTable {
// nechodí!!
DefaultTableModel MyTableModel;
class MyTableModel extends DefaultTableModel {
public MyTableModel(Object rowData[][], Object columnNames[]) {
super(rowData, columnNames);
}
......
nechodí také...
To proto že vytváříš ten MyTableModel jako vnitřní třídu v IntTab. Vytáhni MyTableModel ven jako samostatnou třídu.
Díky. Jen, prosím, jak ten MyTableModel dostanu k té příslušné
tabulce?
Tabulku table_tipy refreshuji takto
private void Refresh_table_tipy() {
String sql = "Select * from Tipy";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
table_tipy.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
A tu tabulku jsem přetáhl z palety a pojmenoval table_tipy.
Objevil jsem Code Customizer a MyTableModel jsem se tam pokusil vnutit. Viz. obr1. Udělal jsem si event, která vypisuje getColumnClass a getModel
private void table_tipyMousePressed(java.awt.event.MouseEvent evt) {
String qq = table_tipy.getColumnClass(1).toString();
qq=qq+" "+table_tipy.getModel();
JOptionPane.showMessageDialog(null, qq);
a zase nic, viz. obr 2. 
Chodí to. Děkuji za snahu pomoci. Bohužel jsem si stále přepisoval MyTableModel v metodě Refresh_table_tipy() viz.tady výše a tak mi snaha pomoci nebyla nic platná.
Když jsem na to přišel, nevěděl jsem, jak bych se vypořádal s DbUtils.resultSetToTableModel(rs)) knihovnou (import net.proteanit.sql.DbUtils), která dělá zásadně DefaultTableModel, jak bych ji donutil aby přebírala můj model.
Naštěstí jsem našel na netu podobný zdroják (http://stackoverflow.com/…-with-search). Ten jsem použil a přepsal tam na konci výstup do TableDefaultModel na ten svůj a je to. Toho kódu je jen kousek.
Ještě jednou děkuji a omlouvám se za svou grafo a jinou mánii 
Zobrazeno 16 zpráv z 16.
