IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tomhaus
Člen
Avatar
Tomhaus:17.12.2014 12:31

Cs lidi mám problém s JComponentama.
Mám třídu Screen a v ní mam Graphics, která něco vykresluje.
Třídu Screen mam v GridBagLayoutu spolu s ostatníma JComponentama.
A já potřebuju, aby ta jedna JComponenta (např: JTextField) překrývala tu třídu Screen.
Vypadá to takhle:

private GridBagConstraints g;
private JTextField txt01;
private Screen s;
private JPanel pan01;

metoda kde přidávam JComponenty, atd... :

setLayout(new GridBagLayout());
                g = new GridBagConstraints();

                txt01 = new JTextField();
                txt01.setPreferredSize(new Dimension(29, 29));
                g.gridx = 1;
                g.gridy = 0;
                add(txt01, g);

                //Screen - hlavní grafika
                s = new Screen();
                s.setUbits(bits);
                if(gen){s.fill();s.fillG();}
                g.gridx = 1;
                g.gridy = 0;
                add(s, g);

                //panel pro ovládání
                pan01 = new JPanel();
                pan01.setLayout(new GridBagLayout());
                g.gridx = 0;
                g.gridy = 0;
                g.gridheight = 4;
                g.insets = new Insets(5, 5, 5, 5);
                add(pan01, g);

Ale ten JTextField není nad tím Screenem, jak se to dá vyřešit, když tam potřebuju ten GridBagConstraints ?
Vím že jsem se na to už ptal s jiným příkladem, ale tam jsem neměl GridBagConstraints a šlo to vyřešit jinak. Stejným způsobem to tady nejde(teda aspoň mě :D).

Odpovědět
17.12.2014 12:31
Být lepší a chytřejší je důležité, ale někdy se musíme spokojit s tím, co máme.
Avatar
Tomhaus
Člen
Avatar
Tomhaus:17.12.2014 12:41

Té části, jak je tam

s.setUbits(bits);
if(gen){s.fill();s.fillG();}

si nevšímejte.

Editováno 17.12.2014 12:41
Nahoru Odpovědět
17.12.2014 12:41
Být lepší a chytřejší je důležité, ale někdy se musíme spokojit s tím, co máme.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Tomhaus
David Hartinger:17.12.2014 12:42

SWING bych už dnes vůbec nepoužíval, je zastaralý a dávno překonaný JavaFX. Vypadá to, jako bys dělal nějakou hru, tam se většinou naprogramují prostě vlastní TextFieldy, které se vykreslují na plátno. Ten javovský bych přes to nedával, překrývat komponenty imho není dobrá praktika.

Nahoru Odpovědět
17.12.2014 12:42
New kid back on the block with a R.I.P
Avatar
Tomhaus
Člen
Avatar
Odpovídá na David Hartinger
Tomhaus:17.12.2014 12:50

Já vim jak to myslíš, ale JavaFX je jen v NetBeans nebo ne?

Není to hra, ale algoritmus pro systematické kódování.

Editováno 17.12.2014 12:52
Nahoru Odpovědět
17.12.2014 12:50
Být lepší a chytřejší je důležité, ale někdy se musíme spokojit s tím, co máme.
Avatar
Tomhaus
Člen
Avatar
Tomhaus:17.12.2014 13:25

Tak sem to udělal, jak si říkal: vlastní JTextFieldy
Jenom než sem na to přišel mi nějakou dobu trvalo, páč se ty vpisovací pole posunujou s jinými hodnotami. Hodně složitý, když tam mam 4 ty hodnoty.
Ale přišel sem na to. A udělal jsem to pomocí MouseListeneru a runnablu.

Teď si stačí od třídy, kam sem dal ten vlastní JTextField, vyžádat pozici a tradá vykreslovat hodnoty (stačí mi jen 0 a 1). Takže ještě přidat KeyListener.

Editováno 17.12.2014 13:26
Nahoru Odpovědět
17.12.2014 13:25
Být lepší a chytřejší je důležité, ale někdy se musíme spokojit s tím, co máme.
Avatar
Tomhaus
Člen
Avatar
Odpovídá na David Hartinger
Tomhaus:17.12.2014 13:27

Jo a na tu JavaFX se taky podívam :)

Nahoru Odpovědět
17.12.2014 13:27
Být lepší a chytřejší je důležité, ale někdy se musíme spokojit s tím, co máme.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.