Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Java: Simpele applicatie vragen.... (geen applet) !

WeaZuL
11 antwoorden
  • Zo, om maar met de deur in huis te vallen……

    [b:31449df055]Probleem 1[/b:31449df055]

    [img:31449df055]http://home.conceptsfa.nl/~onderdyk/menubar.gif[/img:31449df055]

    Zo'n sub menu wil ik dus ook zoals bij "More Examples" maar dan in mijn programma bij "Nieuw"

    [img:31449df055]http://home.conceptsfa.nl/~onderdyk/bestand.jpg[/img:31449df055]

    dit is de betreffende deel van de source:


    MenuBar mbalk = new MenuBar();
    setMenuBar(mbalk);
    Menu mB = new Menu ("Bestand");
    Menu mA = new Menu ("About");
    mbalk.add(mB);
    mbalk.add(mA);
    nieuw = new MenuItem ("Nieuw", new MenuShortcut(KeyEvent.VK_N));
    mB.add(nieuw);
    openen = new MenuItem ("Openen", new MenuShortcut(KeyEvent.VK_O));
    mB.add(openen);
    opslaan = new MenuItem ("Opslaan als", new MenuShortcut (KeyEvent.VK_P));
    mB.add(opslaan);
    mB.addSeparator();
    sluiten = new MenuItem ("Sluiten", new MenuShortcut(KeyEvent.VK_S));
    mB.add(sluiten);
    nieuw.addActionListener(this);
    openen.addActionListener(this);
    opslaan.addActionListener(this);
    sluiten.addActionListener(this);

    [b:31449df055]Probleem 2[/b:31449df055]

    Ook wil ik Menu "About" helemaal rechts hebben staan i.p.v. links naast "Bestand".

    [img:31449df055]http://home.conceptsfa.nl/~onderdyk/about.jpg[/img:31449df055]


    [b:31449df055] HELP [/b:31449df055]
    Gezocht op forums / bij Sun zelf in de info/help section enz enz maareh nix te vinden. Iemand die mij kan helpen met goeie ideën / links / forums pfff ik kom echt niet verder zo…! :cry:
  • 1: gewoon een instantie van (J)Menu ipv (J)MenuItem toevoegen
    2: helaas
  • [b:dfe743bbe8]1.[/b:dfe743bbe8] Dit klopt dit gaven ze namelijk ook aan bij Sun: The final menu item is a submenu labeled "More Examples", and this submenu is an instance of Menu. Maar Instance? sjah … vertel eens wat meer, ik werk met TextPad om te compilen.

    [b:dfe743bbe8]2.[/b:dfe743bbe8] Helaas wat? "Helaas, weet ik niet" of "Helaas, kan niet"???

    thnx 4 the quick reply dude..!! :P
  • echter, nu ik dit lees http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html#custom
  • je had intussen al geantwoord :)

    een (J)Menu object *is* een instantie van JMenuItem (namelijk subklasse van). en wel om de redenen die jij opgeeft: het kunnen maken van submenu's

    zelf gebruik ik voornamelijk ultraedit i.c.m. (ook voornamelijk) de sun jdk
  • Aaah eindelijk goede link naar Plain SourceCode….. pffff… Thnx man…!

    enneh ik ga gelijk dat proggie uitproberen!!

    edit:

    Ik zie dat je gebruik maakt van Jmenu, ik gebruik MenuItem dat gaat niet door elkaar werken want hij geeft allemaal fout meldingen. Wat is het verschil tussen CFrame en JFrame?
  • ik snap je edit niet helemaal, maar hier een poging,

    MenuBar / MenuItem / Menu …. (kortom, java.awt.*) = java
    JMenuBar / JMenuItem / JMenu …. (kortom, javax.swing.*) = java 2 (jdk1.2+)
  • Nou tis toch nog gelukt…. zie hieronder:

    [img:d34e28ffbe]http://home.conceptsfa.nl/~onderdyk/sne.jpg[/img:d34e28ffbe]

    source:


    //codes menubar
    MenuBar mbalk = new MenuBar();
    setMenuBar(mbalk);
    Menu mB = new Menu ("Bestand");
    //mbalk.addSeparator();
    mbalk.add(mB);
    Menu mH = new Menu("Help!");
    mbalk.add(mH);
    //mbalk.add(mH);
    Menu nieuw = new Menu ("Nieuw");
    mB.add(nieuw);
    gr1 = new MenuItem("16 x 16 hokjes",new MenuShortcut(KeyEvent.VK_1));
    nieuw.add(gr1);
    gr2 = new MenuItem("24 x 24 hokjes",new MenuShortcut(KeyEvent.VK_2));
    nieuw.add(gr2);
    gr3 = new MenuItem("32 x 32 hokjes",new MenuShortcut(KeyEvent.VK_3));
    nieuw.add(gr3);
    gr4 = new MenuItem("40 x 40 hokjes",new MenuShortcut(KeyEvent.VK_4));
    nieuw.add(gr4);
    openen = new MenuItem ("Openen",new MenuShortcut(KeyEvent.VK_O));
    mB.add(openen);
    opslaan = new MenuItem ("Opslaan als",new MenuShortcut(KeyEvent.VK_P));
    mB.add(opslaan);
    mB.addSeparator();
    sluiten = new MenuItem ("Sluiten",new MenuShortcut(KeyEvent.VK_S));
    mB.add(sluiten);
    uitleg = new MenuItem ("Uitleg",new MenuShortcut(KeyEvent.VK_U));
    mH.add(uitleg);
    mH.addSeparator();
    info = new MenuItem ("Info",new MenuShortcut(KeyEvent.VK_I));
    mH.add(info);
    nieuw.addActionListener(this);
    gr1.addActionListener(this);
    gr2.addActionListener(this);
    gr3.addActionListener(this);
    gr4.addActionListener(this);
    openen.addActionListener(this);
    opslaan.addActionListener(this);
    sluiten.addActionListener(this);
    info.addActionListener(this);
    uitleg.addActionListener(this);

    show();

    Nu heb ik toch nog een vraag…. Ik wil graag tussen de menubar en het canvas (rode stip/pijl) een Separator hebben(over heel de breedte).

    [img:d34e28ffbe]http://home.conceptsfa.nl/~onderdyk/sna.jpg[/img:d34e28ffbe]

    Omdat nu de overgang zo "Bot" is, weet misschien iemand hoe dat moet?

    Thnx anyway…..
  • als je swing componenten had gebruikt kon je (bijv.) eenvoudig een border toevoegen.

    wat je kan doen is op de canvas zelf een paar lijntjes (oid) te tekenen (dus subclassen van dit component en methode paint/update herimplementeren)
  • Ik gebruik de volgdende componenten (als je iig dit bedoelt :-s )

    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    import javax.swing.*;

    dus dan moet het toch kunnen?

    Thnx AnyWay cim…… :wink:
  • wat ik zeg :)
    je maakt gebruik van (de klassieke) awt componenten, alhoewel je wel de swing package importeert(?).

    indien je jdk1.2+ (java 2) had gebruikt zou je de gui van je programma middels "lightweight" (= grafisch door java zelf afgehandelde) swing componenten opbouwen. de swing componenten kun je makkelijk aanpassen aan je wensen o.a (eenvoudig) van borders voorzien, look & feel veranderen, of desnoods (wat minder eenvoudig) zelf een l&f creëeren.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.