Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Když diskuse,
tak s Lopuchem

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Programování [ŽP: neomezená] (kategorie Programování) moderuje tvx.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: sqyfmds
[ 857 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
dodanek Dodanek 20.5.2011 10:38  1213
jestli dobre chapu svou chybu, tak v ty moji verzi jsem vlastne vytvoril objekt uvnitr objektu, takze nemel zdani, co je zac
operator304 20.5.2011 10:04  1212
dodoHele, jenom tak z cvicnejch duvodu...

chapes proc jsi to mel blbe a proc to ted funguje?
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 20.5.2011 10:00  1211
Dodanek [1210]: proto je treba si to odvyknout co nejdriv :)
dodanek Dodanek 20.5.2011 09:55  1210
Jo, to je samozrejme debilni zvyk ze skoly :)
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 20.5.2011 09:44  1209
Tss, to jsem vedel taky, ale nez clovek prijde do prace..

Btw, mala formalni rada, pro pripad, ze by ses chtel programovani venovat profesionalne - vyser se na tu cestinu v nazvech promennych/metod. Jednak to obvykle vypada debilne, protoze kombinujes cestinu a anglictinu (napovedaMenuItem), druhak kdyz pak ten kod dostane do rukou nekdo, kdo neumi cesky, tak te prokleje do desatyho kolene. Anglicky aspon do nejaky miry umi (z nutnosti) v zasade kazdej programator. Cesky samozrejme jenom cesi.
operator304 20.5.2011 08:20  1208
Ja ti pak poslu fakturu :))
dodanek Dodanek 20.5.2011 08:18  1207
funguje! mas muj nehynouci obdiv, tisicere diky! jeste se sem urcite brzo vratim :D
operator304 20.5.2011 08:16  1206
Jo, tohle jsi posral :) smaz to this = new Jmenubar
dodanek Dodanek 20.5.2011 08:15  1205
public Menu() {

this = new JMenuBar();

ale mam pocit, ze jsem to cely nejak posral :D
operator304 20.5.2011 08:12  1204
Z kteryho radku?
dodanek Dodanek 20.5.2011 08:11  1203
required: gui.Menu
found javax.swing.JMenuBar
operator304 20.5.2011 08:03  1202
Prosyte vyhod field menu a jeho inicializaci, a misto ty promenny volej "this"
operator304 20.5.2011 07:59  1201
Co to bude delat, kdyz vyhodis field JMenuBar menu a v konstruktoru nahradis tuhle promenou referenci na ten konstruovanej objekt? (this)
operator304 20.5.2011 07:54  1200
Pisu z telefonu, takze se mi debilne hleda javadoc. Ta trida JMenuBar (predek Menu) ma bezparametrickej konstruktor?
dodanek Dodanek 20.5.2011 07:47  1199
Takže pro představu, programujeme ve škole jednoduchou gui aplikaci, která má zajišťovat pro firmu evidenci zákazníků, zaměstnanců, objednávek .. a protože je tam spousta oken a menu bude všude stejný, tak jsem ho chtěl prdnout do zvláštní třídy, a pak si ho v oknech zavolat .. vypadá to asi takhle:


package gui;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

/**
*
* @author Ondra
*/
public class Menu extends JMenuBar {


private JMenu souborMenu;
private JMenuItem konecMenuItem;
private JMenu napovedaMenu;
private JMenuItem oProgramuMenuItem;
private JMenuItem napovedaMenuItem;
private OknoNapovedy oknoNapovedy;
private JMenuBar menu;

public Menu() {

menu = new JMenuBar();
souborMenu = new JMenu("Soubor");
souborMenu.setMnemonic(KeyEvent.VK_S);
menu.add(souborMenu);
souborMenu.addSeparator();
napovedaMenu = new JMenu("Nápověda");
konecMenuItem = new JMenuItem("Konec");
souborMenu.add(konecMenuItem);
konecMenuItem.addActionListener(new KonecEvidence());
konecMenuItem.setMnemonic(KeyEvent.VK_K);
menu.add(napovedaMenu);
oProgramuMenuItem = new JMenuItem("O Programu");
oProgramuMenuItem.addActionListener(new OProgramu());
oProgramuMenuItem.setMnemonic(KeyEvent.VK_O);
napovedaMenu.setMnemonic(KeyEvent.VK_V);
napovedaMenu.add(oProgramuMenuItem);
napovedaMenuItem = new JMenuItem("Nápověda k aplikaci");
napovedaMenuItem.setMnemonic(KeyEvent.VK_A);
napovedaMenu.add(napovedaMenuItem);
napovedaMenuItem.addActionListener(new Napoveda());
}

private class KonecEvidence implements ActionListener {

public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}

/**
* Vnitřní třída, implementující okno O programu v hlavním menu
*/
private class OProgramu implements ActionListener {

public void actionPerformed(ActionEvent evt) {
JOptionPane.showMessageDialog(null,
"blabla");
}
}


/**
* * Vnitřní třída implementující ActionListener
* slouží k zobrazení nápovědy k programu volbou z menu.
*
*/
private class Napoveda implements ActionListener {

public void actionPerformed(ActionEvent arg0) {
oknoNapovedy = new OknoNapovedy("/zdroje/napoveda.html");
oknoNapovedy.setVisible(true);
}
}
}


a ve třídě, která dělá okno, je mj. tohle:

private Menu menu;

public UvodniOkno() {
// initMenu();

init();
setVisible(true);
}


/**
* Metoda inicializuje a propojuje jednotlivé komponenty GUI
*/
private void init() {

uvodniOknoFrame = new JFrame();
menu = new Menu();

uvodniOknoFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
uvodniOknoFrame.setTitle("Hodinoví Bozi");
uvodniOknoFrame.setSize(700, 400);
uvodniOknoFrame.setLocation(150, 150);
uvodniOknoFrame.setJMenuBar(menu);
uvodniOknoFrame.setResizable(false);

a tak dále ..

a to menu tam prostě nemám. když obsah třídy menu víceméně hodim přímo do okna, tak to funguje .. určitě dělám nějakou debilní chybu :)

[ 857 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt