[Java]Form/Window sluiten

Pagina: 1
Acties:
  • 56 views sinds 30-01-2008

  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
Voor dat flamen begint ik ben al twee dagen bezig op google en hier op tweakers, maar kom er niet uit.

Ik ben in apptivity bezig aan een project.

Nu heb ik in Window1 een form1 daaruit open ik Window2 form2, deze word dus zichtbaar. Nu wil ik dus in form2 een knop waardoor heel window2 afgesloten word.

Ik dus gezocht hier op t board naar oplossingen, maar daar kom ik niet uit. Ik heb in de reference guide dus wel in class abExternalWindow de methode close() gezien, maar ik krijg elke keer de foutmelding over het aanroepen van een statische functie.

Het moet toch via een paar regels commando mogelijk zijn om zo'n venster te sluiten? Het openen is wel op die manier te regelen.

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
method dispose() is uw vriend :)

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
Can't make static reference.............

Als ik dus buton1 mousedown in Form1 zet
Window11.dispose();

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je moet de dispose() ook aanroepen op een instantie van Window11. Zoals jij het probeert roep je een static methode aan en die bestaat niet. Je zult dus ergens een referentie naar je window moeten hebben en op deze dispose() aanroepen

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
O dat heb ik gedaan:
code:
1
2
Window11 W11 = new Window11(theApp(),"");
W11.dispose();


Hij word gecompiled,alleen als ik op de knop druk gebeurt er niks

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Natuurlijk gebeurt er ook zo niets :) Het window W11 is nog genees naar het scherm geschoven (show() ) en dus ook niet te verwijderen van het scherm :)
Je moet hem dus aanroepen op de instantie van Window welke op het scherm te zien is.

En wat is Window11 een slechte variabele naam zeg ;)

  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
Ik heb nog even zitten stoeien, en ik denk dat ik nu mn vraag goed kan formuleren.

Ik heb dus in Window1-Form1 de code
code:
1
2
3
Window2 W2 = new Window2(theApp(),"");
W2.init;
etc etc


Hoe spreek ik dus die w2 aan, als ik in window2- form2 zit.
maw
Als ik op de knop exit druk in form2 wat moet daar dan staan.
w2.dispose();
werkt namelijk niet.

  • momania
  • Registratie: Mei 2000
  • Nu online

momania

iPhone 30! Bam!

Cai schreef op 12 May 2003 @ 16:03:
Ik heb nog even zitten stoeien, en ik denk dat ik nu mn vraag goed kan formuleren.

Ik heb dus in Window1-Form1 de code
code:
1
2
3
Window2 W2 = new Window2(theApp(),"");
W2.init;
etc etc


Hoe spreek ik dus die w2 aan, als ik in window2- form2 zit.
maw
Als ik op de knop exit druk in form2 wat moet daar dan staan.
w2.dispose();
werkt namelijk niet.
Mijn mening nu na het lezen van deze thread is dat ik een user zie die zich leuk wil bezighouden met JAVA en OO, maar dat weer gelijk allemaal grafisch wil doen met schermpjes etc. terwijl het hele OO nog niet eens duidelijk is en hoe met JAVA te programmeren.
Ik denk dat je eerst eens een paar tutorialletjes door moet gaan nemen, want zoals ik het zie is dit allemaal wel heel erg basic.

ps.
Voor betere hulp hier zou het ook handig zijn als je wat code post, zodat we daar een beetje in mee kunnen kijken.

Neem je whisky mee, is het te weinig... *zucht*


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Nou ik zal even snel een klein voorbeeldje geven van hoe zoiets kan
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public static void main( string[] args )
{
     Form myWindow = new MyWindow();
     Form myOtherWindow = new MyOtherWindow( myWindow );

    myWindow.show();
    myOtherWindow.show();
}
class MyWindow extends Form
{
    //Hier code voor je form
}
class MyOtherWindow extends Form
{
    Form formToClose;

    public MyOtherWindows( Form formToClose )
    {
        this.formToClose = formToClose;
        //hier zorgen dat je eventhandlers goedstaan
    }

   public void actionPerformed(ActionEvent e)
   {
        formToClose.dispose();
   }
}

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
Waarschijnlijk is het toch niet zo basic anders had je het antwoord wel gepost.

*
De reden die jij over de user, oftwel ik, gevormd heb is incorrect en irrelevant aan de thread

  • momania
  • Registratie: Mei 2000
  • Nu online

momania

iPhone 30! Bam!

Cai schreef op 12 May 2003 @ 16:18:
Waarschijnlijk is het toch niet zo basic anders had je het antwoord wel gepost.

*
De reden die jij over de user, oftwel ik, gevormd heb is incorrect en irrelevant aan de thread
Nee, op GoT posten we niet zomaar een antwoord, het belangrijkste hier is dat mensen wat kunnen leren, maar daarbij wordt wel een bepaald niveau verwacht.
Nu moet je dit niet persoonlijk opvatten hoor, want dat is het echt niet.
Mij viel alleen op aan de openings post dat ik er eigenlijk weinig van begreep wat je nou precies wil.

Neem je whisky mee, is het te weinig... *zucht*


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
Nee dat is het niet volgens mij.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
\\In window1 form1 open ik window5
Window5 w5= new Window5(theApp(), "");
        w5.init();
        w5.setTitle(w5.m_strCaption);
        w5.showModally();

\\in window5 form7 staat de methode als ik op een knop druk
    public boolean OnMouseDownbutton2 (MouseEvent ev)
    {
        
        
        return(false);
    }


Wat moet ik dus bij de methode OnMouseDownbutton2 invullen om te zorgen dat window5 sluit

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
je wilt dus gewoon het huidige scherm closen??
Java:
1
this.dispose();


Maar volgens mij moet je toch maar eens duidelijk naar mijn voorbeeldje kijken want ik heb het gevoel dat je in java wilt programmeren als in VB. Ik heb zelf niet echt ervaring met VB maar volgens mij roep je daar inderdaad static methodes aan op frames. In java werkt dit echter anders en zul je een referentie ( soort pointer naar een instance van een class ) moeten zien te bemachtigen om daarna de methode erop uit te voeren. Anders is er namelijk voor de compiler/runtime niet te achterhalen welke Form je nou wilt closen aangezien er best meerdere instanties van een hetzelfde type Form kunnen zijn.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Cai
  • Registratie: December 2001
  • Laatst online: 11:48
this.dispose();

Error: Method dispose() not found in class Form7

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ik krijg een beetje het idee dat je totaal geen idee hebt waar je mee bezig bent. Het lukt je blijkbaar niet om iets simpels als een window sluiten voor elkaar te krijgen maar ondertussen zie ik je hier al met namen langskoment als Window5 en Form7 ( Ontzettend slechte namen trouwens ). Als je zoiets niet voor elkaar krijgt zou je dan niet met een iets kleiner voorbeeldje beginnen om het idee te begrijpen. Als je eenmaal snapt hoe je het voorelkaar kan krijgen zal het dan ook geen probleem zijn om het in een groter geheel voor elkaar te krijgen

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • momania
  • Registratie: Mei 2000
  • Nu online

momania

iPhone 30! Bam!

Cai schreef op 12 May 2003 @ 16:46:
this.dispose();

Error: Method dispose() not found in class Form7
Over wat voor Form of Window hebben we het nu eigenlijk?
Ik ben al een tijd aan het zoeken, maar vind in de API's van sun alleen maar dispose() als relevante sluiter van een Window.
Heeft apptivity soms eigen packages en is daar een API van?

Neem je whisky mee, is het te weinig... *zucht*


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Ik zie zo veel vaagheden hier:
1) Enorme foute variabele namen
2) Enorme vage omschrijvingen
3) Users die je helpen en correcte tips geven, uitsnauwen.

Ik kan niet anders concluderen dan je http://java.sun.com/docs/books/tutorial/uiswing/index.html heen te sturen. Werk eerst die maar eens door en ga eens wat leren over referenties van klasses naar elkaar.
Pas als je die basics beheerst, zal een thread hier pas constructief worden denk ik :)

Succes ermee :)
Pagina: 1

Dit topic is gesloten.