Avatar billede munkeholm Nybegynder
31. maj 2011 - 11:03 Der er 4 kommentarer og
1 løsning

Kald af metode i kørende GUI?

Hej exp

Vi sidder en gruppe på 4 her og undre os over hvordan man kalder en metode i en allerede kørende GUI. f.eks. følgende eksempel:

vi har en EventKalenderGUI med en kalender hvorfra man kan få en OpretMødeGUI frem og her oprette et møde, når man gemmer sit møde skal EventKalenderGUI'en ligesom opdateres via en metode.

men hvordan kalder vi metoden via OpretMøde når man f.eks. trykker 'Gem Møde'.
Avatar billede heinzdmx Nybegynder
31. maj 2011 - 18:23 #1
Du kan f.eks. indlægge knapper til de funktioner i gerne vil have.

Tag et kig på:
http://download.oracle.com/javase/tutorial/uiswing/components/button.html
Avatar billede munkeholm Nybegynder
31. maj 2011 - 21:33 #2
måske dårligt beskrevet men vi har:

GUI 1 som er vores hovedgui og herfra åbner du en ny GUI 2 udfylder en formular og andet der har med opret møde at gøre.. når man så trykker 'gem' lukker gui'en og du er nu ved GUI 1 som gerne af sig selv skulle opdatere når man trykker gem i GUI 2.

så kort:

gui 1 åbner gui 2(og er i baggrunden).
gui 2 opretter et møde og forsvinder igen.
gui 1 er nu åben men skal opdateres fordi der er et nyt møde.

fordi gui 1 er den der viser møderne i en kalender, men bliver ikke opdateret ved mindre man trykker frem og tilbage mellem dagene eller månederne.
Avatar billede heinzdmx Nybegynder
01. juni 2011 - 12:56 #3
Det kan du løse på et par måneder

En er at lave et interface som du sender til GUI2 når den oprettes.

interface RunOnClose
{
    public void RunOnClose();
}


Denne får du så din GUI1 til at implementere

class GUI1 extends JFrame implement RunOnClose
{
    ...

    public void RunOnClose()
    {
        updateGUI(); // find selv ud af hvad det rigtigt skal være
    }

}


Din GUI2 skal så indeholde

class GUI2 extends JFrame
{
    RunOnClose objectToRun;

    public GUI2(RunOnClose objectToRun)
    {
        this.objectToRun = objectToRun;
    }

    public void OnCloseButton()
    {
        objectToRun.RunOnClose();
    }
}



Koden er utestet, men burde give dig en ide om hvordan en løsningsmodel kunne se ud.
Avatar billede munkeholm Nybegynder
02. juni 2011 - 01:35 #4
lige præcis det jeg ledte efter, og selvom du ikke lige har testet det virker det helt som det skal !

dog mangler du et s på implements :>

men smid et svar også vil jeg sige mange tak for hjælpen!
Avatar billede heinzdmx Nybegynder
02. juni 2011 - 11:30 #5
Svar

--
Og så skulle der stå måder og ikke måneder på første linje :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester