Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Java - Action Button

Čau,

chtěl bych se zeptat, jak udělat jednu funkci v mém programu.

Takhle to vypadá (rozložení BorderLayout, postranní žlutý panel WEST, bílý panel CENTER)
docas.jpg

Udělal jsem si třídu Formulář, který vytvoří klasický formulář se jménem, příjmením atp.

A já potřebuji, po stisknutí tlačítka "Založit novou rezervaci", aby se mi ten formulář objevil v té bílé části, nevím jak na to, vytvořím si actionListener u toho tlačítka, jen nevím, co napsat do něj.

Díky předem za každou radu :)

Předmět Autor Datum
Rozumim tomu trošku, ale domnivam ze, že to co chceš není uplně možné ;) Nejsem si jist, jestli java…
AZOR 24.05.2010 13:15
AZOR
Já vim, já neveděl jak to pořádně popsat :) .. díky za odpověď, podívám se na ten odkaz, snad pomůže…
nnn 24.05.2010 13:17
nnn
Jde o to, že pokud máš dvě třídy JFrame a JFrame, tak je (pokud se nepletu) nemužeš dát do sebe. Pok…
AZOR 24.05.2010 13:19
AZOR
Dej si do na to bílé místo JPanel, do něho si udělej ten svůj formulář. A pak už jen volej na ten JP…
MaSo 24.05.2010 13:16
MaSo
Ta bílá část je JPanel (hlavniOkno) .. zkoušel jsem hlavniOkno.add(formular) .. ale tak lehce to nej…
nnn 24.05.2010 13:19
nnn
Jestli jsi to psal, tak u toho druhého co dáváš hlavniOkno.add(formular) máš někde: public ... Form…
AZOR 24.05.2010 13:22
AZOR
takhle to vypadá :) restaurace.rar jdu teda zkusit něco s tim provést
nnn 24.05.2010 13:30
nnn
Prostě do toho JFrame vložíš JPanel, ve kterém bude ten formulář. pokud máš třeba: JFrame mainWind…
MaSo 24.05.2010 13:25
MaSo
restaurace.rar :)
nnn 24.05.2010 13:30
nnn
mno nějak mi to pořád nebeží .. nevim kde je chyba :).. pravděpodobně nekde s tim getContent..
nnn 24.05.2010 14:01
nnn
Marie matko Boží! Kde jsi viděl mít Java třídy jako *.txt soubor? Trochu jsem to upravil, vzhled si…
MaSo 24.05.2010 14:17
MaSo
wow, díky moc!! to je přesně ono .. samozřejme třídy tak neukládám, pracuji v Eclipse, jen jsem to p…
nnn 24.05.2010 14:22
nnn
Já bych to asi udělal tak, že po stisknutí tlačítka, které by bylo odkaz na soubor třeba objednavkov…
Kráťa 24.05.2010 14:53
Kráťa
Ale to nemá nic společného s válcováním silnic...::)
MaSo 24.05.2010 15:03
MaSo
Jakto že ne? Když nebudeš mít pro válec databázi dostupného paliva, můžeš dělat Jpress jak chceš a s… poslední
Kráťa 24.05.2010 15:10
Kráťa

Rozumim tomu trošku, ale domnivam ze, že to co chceš není uplně možné ;)
Nejsem si jist, jestli java podporuje formulář do formuláře (jako JFrame)
a) bud budeš muset použít třídu na Formular takovou, která to umožnuje - tuto: http://www.zaachi.com/cs/items/java-a-zaklady-gui- 5-internalframe.html

b) vykašleš se na formulář a uděláš to jako JPanel a jenom to tam přidáš jako komponentu.
c) uděláš to jako nové okno
d) něco uplně jinéh ;) možností je dost.

Jde o to, že pokud máš dvě třídy JFrame a JFrame, tak je (pokud se nepletu) nemužeš dát do sebe. Pokud z toho Formulář uděláš JPanel (což se teoreticky dá udělat přepsáním jednoho slova) a pak to bude jakoby panelová komponenta, kterou stačí přidat na hlavní JFrame ze kterého je screenshot a nebo budeš muset vysloveně použít třídy, které jsou určené k tomu (to byl ten odkaz) aby jsi mohl dávat frames do frames.

Ta bílá část je JPanel (hlavniOkno) .. zkoušel jsem hlavniOkno.add(formular) .. ale tak lehce to nejde :) .. mám to do školy a nejsem programátor, takže s tim mám problém :) .. můžeš mi trochu prosím rozvést, jak do toho JPanelu teda udělám ten formulář? :X

Jestli jsi to psal, tak u toho druhého co dáváš hlavniOkno.add(formular) máš někde:

public ... Formular extends JFrame implements ActionListener...

tak misto toho JFrame napiš JPanel, s tím, že pokud máš vývojové prostředí, tak Ti akorád zařve, že některé metody JPanel o proti JFrame nemá (DeflalutCloseOperation...) a budeš případně muset trošku upravit kod.

Prostě do toho JFrame vložíš JPanel, ve kterém bude ten formulář.

pokud máš třeba:

JFrame mainWindow = new JFrame();

tak si vytvoř ten formulář

JPanel formular = new JPanel();
formular.add( co je treba );

nakonec uděláš:

mainWindow.getContentPane().add(formular);

a v tlačítku zavoláš

formular.setVisible(true);

az budeš chtít, aby byl form vidět...

EDIT: když tu hodíš zdrojáky, tak se ti na to mrknu...

Marie matko Boží! Kde jsi viděl mít Java třídy jako *.txt soubor?

Trochu jsem to upravil, vzhled si dolaď sám. Ale doporučuji prostudovat, jak se používá GridBagLayout, protože ho používáš špatně. Upravil jsem ti třídu Formulář, tak aby to bylo lepší...

Já bych to asi udělal tak, že po stisknutí tlačítka, které by bylo odkaz na soubor třeba objednavkovy-formular.html.
Ty objednávky by se ukládaly do databáze (s datumy a časy) a když by si chtěl někdo zobrazit zadané, bylo by to další tlačítko odkaz zase třeba na objednane.php, kde by se to vypisovalo z databáze podle zadaného data a času.

Zpět do poradny Odpovědět na původní otázku Nahoru